第10章 內部類

2022-02-24 16:26:53 字數 1579 閱讀 1581

10.1建立內部類

·內部類:將乙個類的定義放在另乙個類的定義內部

·外部類中使用內部類:

·例項成員中使用內部類:和使用普通類沒差別

·靜態成員中使用內部類:要指明物件的型別,outerclassname.innerclassname

10.2鏈結到外部類

·內部類可以訪問外部類的所有成員

·迭代器模式

10.3使用.this與.new

·.this:outerclass.this,指代外部類物件的引用

·.new:outerclassobject.new innerclass();建立某個內部類物件

·普通內部類和外部類之間其實就好比寄生關係。必須先建立外部類的物件,才能建立內部類物件

10.4內部類與向上轉型

·內部類向上轉型為其基類,尤其是轉型為乙個介面,那麼這個內部類在外部類以外的地方看來是完全隱藏的

10.5在方法和作用域內的內部類(區域性內部類)

10.6匿名內部類

·final引數:如果希望乙個匿名內部類使用乙個定義在外部的物件,那麼編譯器會要求其引數引用是final的。

10.7巢狀類(靜態內部類)

·外部類中建立內部類物件:就像呼叫static方法一樣

·外部類以外的地方建立內部類物件:outerclassname.innerclassname inner = new outerclassname.innerclassname();直接導包也行

10.8為什麼需要內部類

·閉包與**

·內部類與控制框架

10.9內部類的繼承

· x extends y.inner

10.10內部類可以被覆蓋嗎

·不存在,完全是兩個獨立的內部類

10.11區域性內部類

·區域性內部類不能有訪問說明符

10.12內部類識別符號:$

第10章 內部類 二

public inte ce contents public class parcel7 public static void main string args contents 方法返回值的生成與表示這個返回值的類的定義結合在一起.另外,這個類是匿名的,它沒有名字.更糟的是.看起來似乎是你要建立乙...

第10天內部類

一成員內部類 作為外部類的成員存在,與成員變數和方法平級關係。class out class b public class test 輸出 我是內部類 我是外部類 外部類中i 1 j 1 內部類中i 2 成員內部類的位元組碼檔案格式 外部類 內部類名.class 二區域性內部類 作為區域性成員存在,...

第10天內部類

一成員內部類 作為外部類的成員存在,與成員變數和方法平級關係。class out class b public class test 輸出 我是內部類 我是外部類 外部類中i 1 j 1 內部類中i 2 成員內部類的位元組碼檔案格式 外部類 內部類名.class 二區域性內部類 作為區域性成員存在,...