天天看點

内部類

1、什麼叫内部類:在一個類中定義一個類,例如:在類A中定義一個類B,則類B就是内部類

2、内部類的特點:

     2.1、内部類可以直接通路外部類的成員,包括私有成員

     2.2、外部類要通路内部類的成員,必須要建立對象

     注意:内部類通路以及操作外部類的對象都是在方法體中的

3、什麼情況下會使用到内部類:

     3.1、因為内部類提供了很好的封裝性,是以當你想要隐藏你的操作不想讓别人看到時,可以考慮用内部類

     3.2、Java中内部類和接口放到一起,可以實作多繼承,是以想要繼承多個類可以使用内部類

4、内部類的分類:

     4.1、在類的成員屬性的位置:成員内部類

     4.2、在類的方法裡:局部内部類

5、public成員内部類,外界如何建立對象使用?

     5.1、格式:外部類名.内部類名   對象名 = 外部類對象.内部類對象;

     5.2、範例:Outer.Inner oi = new Outer().new Inner(); 

6、private成員内部類的使用:

例如:

内部類

7、局部内部類的使用:

     7.1:局部内部類是在方法中建立的,外界無法直接使用,是以要在方法中建立對象來使用

     7.2:該類可以直接通路外部類的成員,也可以通路方法中的局部變量

内部類
内部類

8、匿名内部類:

     8.1、格式:new 類名或接口名(){ 重寫方法 };(注意:大括号最後有分号,這是很容易出錯的地方)

     8.2、實質:是一個繼承了該類或者實作了該接口的匿名類對象

     8.3、前提:存在一個類或者接口,這裡的類可以是具體類,也可以是抽象類

     8.4、匿名内部類是局部内部類的特殊形式,是以位置也是在方法内

内部類
内部類
内部類

9、匿名類的使用:例如,貓會跳高,狗也會跳高用接口類實作,需要寫一個接口類,一個cat類去實作接口,一個dog類去實作接口,太麻煩,用匿名類會有所改進

内部類
上一篇: 内部類
下一篇: 内部類

繼續閱讀