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的引用。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM