前言——任何一個類都不在另一個類的內部,而在類中定義的那個類稱為內部類。
一、內部類包括:成員內部類、局部內部類、匿名內部類、靜態內部類、內部類的繼承。
1.成員內部類:
概念:① 內部類可以隨便使用外部類的成員方法、成員變量 ,無論是否被修飾為private。
② 內部類的實例一定要綁定在外部類的實例上。
③內部類的成員,只有在內部類 的范圍可知,不能被外部類使用。
2.局部內部類:
內部了不僅可以在類中進行,也可以在類的局部位置定義:如在類的方法,或者任意的作用域中。
用this調用關鍵字獲取內部類與外部類的引用。
3.匿名內部類:
語法實現:return new A ( ) { .../內部類體};分號代表創建方法引用表達式的標識。
匿名內部類沒有名稱,一般在方法體中出現。
4.靜態內部類:
內部類前加上static ,一個靜態內部類中可以聲明static成員,但是在非靜態內部類中不可以聲明靜態成員。不可以使用外部類的非靜態成員。
5.內部類的繼承:
public class OutClass extends ClassA,ClassB{
public OutClass ( ClassA a ){ ? a.super( );}}
class ClassA {
class ClassB { }}