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