成員內部類
成員內部類可以訪問外部類的所有成員屬性和成員方法(包括private成員和靜態成員)
當成員內部類擁有和外部類同名的成員變量或者方法時,會發生隱藏現象,即默認情況下訪問的是成員內部類的成員。如果要訪問外部類的同名成員,需要以下面的形式進行訪問:外部類.this.成員變量,外部類.this.成員方法
成員內部類可以用private、protected、public修飾
成員內部類中不能定義靜態方法(所以成員內部類中沒有main方法)
成員內部類不能定義靜態變量,靜態方法
成員內部類是依附外部類而存在的,也就是說,如果要創建成員內部類的對象,前提是必須存在一個外部類的對象
在外部類中如果要訪問成員內部類的成員,必須先創建一個成員內部類的對象,再通過指向這個對象的引用來訪問
可以定義成員抽象內部類,抽象內部類的抽象方法不能用private、final、static修飾
靜態內部類
靜態內部類只能調用外部類的靜態方法和靜態屬性
靜態內部類不用產生外部類的實例化對象即可產生內部類的實例化對象
靜態內部類也可以用private、protected、public修飾
靜態內部類可以定義非靜態方法和靜態方法,也可以定義靜態屬性和非靜態屬性
可以定義靜態抽象內部類,靜態內部類的抽象方法不能用private、final、static修飾
靜態內部類中可以有main()方法並且可以執行