能夠看成是類中的一個普通成員變量,只不過此成員變量是class的類型this
建立內部類的時候,跟以前的方法不同,須要在內部類的前面添加外部類來進行修飾 InnerClassDemo.InnerClass inner= new InnerClassDemo().new InnerClass();
code
1.內部類能夠方便的訪問外部類的私有屬性
2.外部類不能訪問內部類的私有屬性,可是若是建立了內部類的對象,此時能夠在外部類中訪問私有屬性
3.內部類中不能定義靜態屬性
4.當內部類和外部類具備相同的私有屬性時,在內部類中訪問的時候,能夠直接訪問內部類的屬性,若是須要訪問外部類的屬性,那麼須要添加 外部類類名.this.屬性對象
當定義了一個類,實現了某個藉口的時候,在使用過程當中只須要使用一次,沒有其餘用途。考慮到代碼編寫的簡潔,能夠考慮不建立具體的類,而採用new interface(){添加未實現的方法} 就叫作匿名內部類作用域
在內部類中能夠定義靜態內部類,使用static關鍵字進行修飾,使用規則:InnerClassDemo.InnerClass inner= new InnerClassDemo.InnerClass();
class
在外部類的方法中也能夠定義類,此時叫作方法內部類,使用的時候,只能在方法中建立對象,由於此class的做用域就是當前方法變量