[java]
<<內部類>>
自Java 1.1以後,可將一個類定義置入另一個類定義中,這就叫作“內部類”。
非靜態內部類
靜態內部類
局部內部類
匿名內部類
非靜態內部類
在類中定義的類稱為內部類。
內部類之外的類稱為外部類。
內部類可以訪問其外部類的所有變量和方法,並能夠以和外部類的其他非靜態成員相同的方式直接引用它們。
內部類完全在其包圍類的范圍之內。
靜態內部類
由於在創建非靜態內部類對象時,一定要先創建起相應的外部類對象(非靜態內部類對象有著指向其外部類對象的引用 ) 。
另外,在任何非靜態內部類中,都不能有靜態數據、靜態方法或者又一個靜態內部類。
而靜態內部類中卻可以擁有這一切 。
局部內部類
可以將內部類定義在一個方法或者一個代碼塊內。
匿名內部類
java的匿名內部類的語法規則看上去有些古怪,當我們隻需要創建一個類的對象而且用不上它的名字時,
使用內部類可以使代碼看上去簡潔清楚。它的語法規則是這樣的:
– new interfacename(){……};
– 或 new superclassname(){……};
<<內部類>>
自Java 1.1以後,可將一個類定義置入另一個類定義中,這就叫作“內部類”。
非靜態內部類
靜態內部類
局部內部類
匿名內部類
非靜態內部類
在類中定義的類稱為內部類。
內部類之外的類稱為外部類。
內部類可以訪問其外部類的所有變量和方法,並能夠以和外部類的其他非靜態成員相同的方式直接引用它們。
內部類完全在其包圍類的范圍之內。
靜態內部類
由於在創建非靜態內部類對象時,一定要先創建起相應的外部類對象(非靜態內部類對象有著指向其外部類對象的引用 ) 。
另外,在任何非靜態內部類中,都不能有靜態數據、靜態方法或者又一個靜態內部類。
而靜態內部類中卻可以擁有這一切 。
局部內部類
可以將內部類定義在一個方法或者一個代碼塊內。
匿名內部類
java的匿名內部類的語法規則看上去有些古怪,當我們隻需要創建一個類的對象而且用不上它的名字時,
使用內部類可以使代碼看上去簡潔清楚。它的語法規則是這樣的:
– new interfacename(){……};
– 或 new superclassname(){……};