Java-InnerClass內部類

pnodnineteen發表於2018-12-17

成員內部類

成員內部類可以訪問外部類的所有成員屬性和成員方法(包括private成員和靜態成員)

當成員內部類擁有和外部類同名的成員變數或者方法時,會發生隱藏現象,即預設情況下訪問的是成員內部類的成員。如果要訪問外部類的同名成員,需要以下面的形式進行訪問:外部類.this.成員變數,外部類.this.成員方法

成員內部類可以用private、protected、public修飾

成員內部類中不能定義靜態方法(所以成員內部類中沒有main方法)

成員內部類不能定義靜態變數,靜態方法

成員內部類是依附外部類而存在的,也就是說,如果要建立成員內部類的物件,前提是必須存在一個外部類的物件

在外部類中如果要訪問成員內部類的成員,必須先建立一個成員內部類的物件,再通過指向這個物件的引用來訪問

可以定義成員抽象內部類,抽象內部類的抽象方法不能用private、final、static修飾

靜態內部類

靜態內部類只能呼叫外部類的靜態方法和靜態屬性

靜態內部類不用產生外部類的例項化物件即可產生內部類的例項化物件

靜態內部類也可以用private、protected、public修飾

靜態內部類可以定義非靜態方法和靜態方法,也可以定義靜態屬性和非靜態屬性

可以定義靜態抽象內部類,靜態內部類的抽象方法不能用private、final、static修飾

靜態內部類中可以有main()方法並且可以執行


相關文章