package cm.abstracts.limit;
//这个类用来测试static定义的内部的抽象类,其作用是一个外部抽象类
public class ModelFfourtyOne {
public static void main(String[] args) {
//使用抽象类必须通过创建抽象类对象,创建抽象类对象必须通过子类对象的向上转型
Surface.Inward si = new Outside();
si.ful();
}
}
//创建抽象类:外部抽象类,外部父类
abstract class Surface{
//创建抽象类:内部抽象类,内部父类,用static修饰内部抽象类被继承时,外部类名.内部类名
static abstract class Inward{
public abstract void ful();
}
}
//抽象类必须有子类,一个子类只能继承一个抽象类,单继承
//class Outside extends Surface{
// //声明内部抽象类的子类,此类可有可无
// class Inside extends Inward{
//
// }
//}
//创建抽象类必有的子类,使用static修饰内部抽象类被继承时,类名:外部抽象类名.内部抽象类类名
//从语法结构上看,内部的抽象类就像一个外部抽象类
class Outside extends Surface.Inward{
@Override
public void ful() {
System.out.print("ful == full 正式的、完全的、全部的");
}
// public void ful() {
//
// }
}
彦舜原创
本文深入探讨了Java中抽象类的概念,特别是如何定义和使用静态内部抽象类。通过具体的代码示例,展示了如何实现外部抽象类和内部抽象类的继承与多态性,以及如何通过子类覆盖抽象方法。
3056

被折叠的 条评论
为什么被折叠?



