Java SE 是什么,包括哪些内容(二十)?
本文内容参考自Java8标准
再次感谢Java编程思想对本文的启发!
如果创建了一个内部类,然后继承其外部类并重新定义此内部类,会发生什么呢?也就是说,内部类可以被覆盖吗?这看起来是一个很有用的思想,但是"覆盖"内部类就好像它是外部类的一个方法,其实没有什么实际的意义。
代码示例:
// 覆盖内部类
//类Egg
class Egg{
//内部类Yolk的引用y
private Yolk y;
//内部类Yolk,它是protected的,也就是专门留给继承它的子类的
protected class Yolk{
//内部类构造方法
public Yolk(){
//打印字符串"Egg.Yolk()"
System.out.println("Egg.Yolk()");
}
}
//类Egg的构造方法
public Egg(){
//打印字符串"New Egg()"
System.out.println("New Egg()");
//创建内部类Yolk的对象
y = new Yolk();
}
}
//类BigEgg继承类Egg
public class BigEgg extends Egg{
//重新实现内部类Yolk(覆盖)
public class Yolk{
//类Yolk的构造方法
public Yolk(){
//打印字符串"BigEgg.Yolk()"
System.out.println("BigEgg.Yolk()")