內部類
===============================
*類內部,或局部代碼中定義的類
*內部類與外部類相互沒有任何訪問限制
設計
何時使用內部類
---------------------------------------
1. 外部類與內部類關係緊密
2. 做爲隱藏類型(好比隱藏某種功能的實現,將內部類聲明爲private的)
3. 出於我的設計理念接口
非靜態內部類
---------------------------------------
*屬於實例
*不能定義靜態成員class
class A{
class B {}
}方法
建立實例:
A.B b = new A().new B();static
靜態內部類
---------------------------------------
*屬於類
class A{
static class B{}
}new
建立實例:
A.B b = new A.B();interface
局部內部類
---------------------------------------
*在方法中或局部代碼塊中定義的類void
class A{
void a(){
class B {}
}
}實例
匿名內部類
--------------------------------------
在代碼塊中直接new 一個接口並添加代碼塊的不帶名稱的類
class A{
void a(){
interface b = new interface(){}
}
}