leochiang

          BlogJava 聯系 聚合 管理
            21 Posts :: 0 Stories :: 1 Comments :: 0 Trackbacks
          另有: http://blog.csdn.net/ilibaba/article/details/3866537 

          1.首先,把內部類作為外部類的一個特殊的成員來看待,因此它有類成員的封閉等級:private ,protected,默認(friendly),public 它有類成員的修飾符:   static,final,abstract 

          2.非靜態內部類nested inner class,內部類隱含有一個外部類的指針this,因此,它可以訪問外部類的一切資源(當然包括private) 
            外部類訪問內部類的成員,先要取得內部類的對象,并且取決于內部類成員的封裝等級。 
            非靜態內部類不能包含任何static成員. 

          3.靜態內部類:static inner class,不再包含外部類的this指針,并且在外部類裝載時初始化. 
            靜態內部類能包含static或非static成員. 
            靜態內部類只能訪問外部類static成員. 
            外部類訪問靜態內部類的成員,循一般類法規。對于static成員,用類名.成員即可訪問,對于非static成員,只能 
              用對象.成員進行訪問 

          4.對于方法中的內部類或塊中內部類只能訪問塊中或方法中的final變量。 
          類成員有兩種static , non-static,同樣內部類也有這兩種 
          non-static 內部類的實例,必須在外部類的方法中創建或通過外部類的實例來創建(OuterClassInstanceName.new innerClassName(ConstructorParameter)),并且可直接訪問外部類的信息,外部類對象可通過OuterClassName.this來引用 
          static 內部類的實例, 直接創建即可,沒有對外部類實例的引用。 
          內部類不管static還是non-static都有對外部類的引用 
          non-static 內部類不允許有static成員  
          方法中的內部類只允許訪問方法中的final局部變量和方法的final參數列表,所以說方法中的內部類和內部類沒什麼區別。但方法中的內部類不能在方法以外訪問,方法中不可以有static內部類 
          匿名內部類如果繼承自接口,必須實現指定接口的方法,且無參數 
          匿名內部類如果繼承自類,參數必須按父類的構造函數的參數傳遞
            

          內部類的作用

          java 中的內部類和接口加在一起,可以的解決常被 C++ 程序員抱怨 java 中存在的一個問題??沒有多繼承。實際上,C++ 的多繼承設計起來很復雜,而 java 通過內部類加上接口,可以很好的實現多繼承的效果。  

          內部類:一個內部類的定義是定義在另一個內部的類。 
          原因是: 
          1.一個內部類的對象能夠訪問創建它的對象的實現,包括私有數據。 
          2.對于同一個包中的其他類來說,內部類能夠隱藏起來。 
          3.匿名內部類可以很方便的定義回調。 
          4.使用內部類可以非常方便的編寫事件驅動程序。 
          posted on 2012-08-10 08:02 leoChiang 閱讀(210) 評論(0)  編輯  收藏 所屬分類: 技術文檔
          主站蜘蛛池模板: 柘城县| 阆中市| 宜黄县| 湘潭市| 红河县| 南丰县| 如东县| 陈巴尔虎旗| 阿鲁科尔沁旗| 桃园市| 乐昌市| 南投市| 苏尼特右旗| 丹棱县| 台南市| 神池县| 泰州市| 襄垣县| 广河县| 岳池县| 古丈县| 嘉禾县| 神农架林区| 桦川县| 乌苏市| 怀集县| 汾西县| 龙陵县| 饶河县| 称多县| 新宁县| 吴旗县| 太仆寺旗| 丁青县| 宁德市| 册亨县| 连云港市| 常德市| 内丘县| 集安市| 乾安县|