java 內部類的繼承


因為內部類的構造器必須連接到指向其外部類對象的引用. 因為在繼承內部類的時候那個指向外部類對象的"秘密的"引用必須被初始化,而在導出類中不再存在可連接的默認對象,要解決這個問題必須用特殊的語法來明確說清它么之間的關聯:

//: innerclasses/InheritInner.java
// Inheriting an inner class.

class WithInner {
  class Inner {}
}

public class InheritInner extends WithInner.Inner {
  //! InheritInner() {} // Won't compile
  InheritInner(WithInner wi) {
    wi.super(); //必須
  }
  public static void main(String[] args) {
    WithInner wi = new WithInner();
    InheritInner ii = new InheritInner(wi);
  }
} ///:~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM