熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

從內部類繼承

2013-11-23 18:51:25  來源: Java核心技術 

  由於內部類構建器必須同封裝類對象的一個句柄聯系到一起所以從一個內部類繼承的時候情況會稍微變得有些復雜這兒的問題是封裝類的秘密句柄必須獲得初始化而且在衍生類中不再有一個默認的對象可以連接解決這個問題的辦法是采用一種特殊的語法明確建立這種關聯
  
  //: InheritInnerjava
  // Inheriting an inner class
  
  class WithInner {
   class Inner {}
  }
  
  public class InheritInner
    extends WithInnerInner {
   //! InheritInner() {} // Wont compile
   InheritInner(WithInner wi) {
    wisuper();
   }
   public static void main(String[] args) {
    WithInner wi = new WithInner();
    InheritInner ii = new InheritInner(wi);
   }
  } ///:~
  
  從中可以看到InheritInner只對內部類進行了擴展沒有擴展外部類但在需要創建一個構建器的時候默認對象已經沒有意義我們不能只是傳遞封裝對象的一個句柄此外必須在構建器中采用下述語法
  
  enclosingClassHandlesuper();
  
  它提供了必要的句柄以便程序正確編譯
From:http://tw.wingwit.com/Article/program/Java/hx/201311/25868.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.