Java 继承内部类
大家有没有想过内部类究竟能不能被继承呢?
public class Main {
	public static void main(String[] args){
		Outer outer = new Outer();
		Extender extender = new Extender(outer);
	}
}
class Outer{
	class Inner{
		void func(){
			System.out.println("hello Inner");
		}
	}
}
class Extender extends Outer.Inner{
	Extender(Outer outer){
		outer.super();
	}
}
事实证明是可以的, 需要我们注意的是内部类隐式的持有外部类的引用,所以,我们需要在Extender的构造方法中显式的调用Outer的构造方法来给Inner一个outer的引用。
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号