內部類總結

2021-04-02 00:53:28 字數 1254 閱讀 6967

1內部類的巢狀可以理解成類的鏈關係,在構造乙個內部類(非static)的例項的時候,會將直接外層類的例項

作為引數傳進建構函式,而外層類的例項也是用其外層類的例項構造,所以是一種鏈狀關係,內部的類可以使用所有

外層的類的例項,而外層的類不能使用內層的類, 應用a.this(最外層類例項) ,a.b.c.this(鏈中某個外層的例項)。

class theouter

}class aa }}

}}

2 建立乙個內部類 new aa().new bb().new()cc 實際上是呼叫 外層類例項.new 本層建構函式()

如果內部類是static的不需要外層類的例項 多個static巢狀的內部類的例項 aa.bb.cc test = new aa.bb.cc();

3class a0

}class vvv}}

繼承自內部類要呼叫父類的外層類的super()

4class dd

class kk

class cc

void d***() }}

}class aa

}在類內部可以是使用外層類,但是如果生成乙個例項的控制代碼就沒有提供訪問上層類的功能。

5 this 是指本類的例項

6 預設的new

class cc  

class kk

}class test  

class kk }}

}可以直接使用new,new的範圍可以是 之際外層.this.new 和this.new 但是如果內層與外層出現同名類以內部優先

7//當有鏈關係的時候要注意類不要重名

class vv //! 

class kk 這樣就會出錯

class bb {} //!這樣就不會出錯}}

8class a0

}class vvv}}

繼承自內部類要呼叫父類的外層類的super()

9 匿名內部類

inte***ce oo

int k = 10;

void pt();

}class pp

int get()

}class me

*/class kk  

public void pt() };}

pp testmed0() };}

}}

匿名內部類可以繼承自介面也可以繼承自類,繼承自類的建構函式中 可以有引數。

10class bf

class aa }}

內部類總結

內部類不是很好理解,但說白了其實也就是乙個類中還包含著另外乙個類 如同乙個人是由大腦 肢體 器官等身體結果組成,而內部類相當於其中的某個器官之一,例如心臟 它也有自己的屬性和行為 血液 跳動 顯然,此處不能單方面用屬性或者方法表示乙個心臟,而需要乙個類 而心臟又在人體當中,正如同是內部類在外部內當中...

內部類總結

內部類不是很好理解,但說白了其實也就是乙個類中還包含著另外乙個類 如同乙個人是由大腦 肢體 器官等身體結果組成,而內部類相當於其中的某個器官之一,例如心臟 它也有自己的屬性和行為 血液 跳動 顯然,此處不能單方面用屬性或者方法表示乙個心臟,而需要乙個類 而心臟又在人體當中,正如同是內部類在外部內當中...

內部類總結

內部類共有三種型別 1.可以訪問外部類作用域的內部類 2.區域性內部類 就是定義在方法內的內部類 3.靜態內部類 不能訪問外部類的內部類 第一類public class outerclass public class innerclass 在外部類範圍之外呼叫內部類的語法 outerclassout...