Java 内部类简介,理解,特点,注意事项
生活随笔
收集整理的這篇文章主要介紹了
Java 内部类简介,理解,特点,注意事项
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
什么是內部類
內部類,顧名思義,就是在一個類當中再定義一個類。例如在python當中的閉包函數(函數內部再定義一個函數)。Python閉包函數的理解
如果在類Outer的內部再定義一個類Inner,此時Inner就稱為內部類(或者稱為嵌套類),而類Outer則稱為外部類(或者宿主類)。
既然是嵌套類,就需要注意作用域的問題。內部類擁有外部類的所有元素的訪問權限。作為對比,非內部類卻不允許有private和protected權限的,內部類可以很好的實現隱藏。
內部類的特點
-
1.內部類仍然是一個獨立的類,在編譯之后內部類會被編譯成獨立的.class文件。
-
2.內部類是外部類的一個成員,因此內部類可以自由的訪問外部類的成員變量,無論是否為私有的private。如下圖:內部類Inner可以自由的訪問外部類的成員變量,前提是內部類不是靜態的。
-
3.內部類如果申明為靜態的,就不可以隨便訪問外部類的成員變量,仍然是只能訪問外部類的靜態成員變量。如下圖:內部類Inner是靜態的,只能訪問外部類的靜態屬性。
關于內部類要注意的地方:
- 1.外部類只有倆種訪問級別,public和默認。但是內部類卻有四種訪問級別:public、protected、private和默認。
- 2.在外部類當中直接可以通過類名訪問內部類:
InnerClass ic = new InnerClass();
注意這里的InnerClass為內部類的類名 - 3.在外部類以外的其它類當中則需要通過內部類的完整類名訪問內部類:
Test.InnerClass ti = newTest().new InnerClass(); - 4.內部類和外部類的名字不能一樣。
總結
以上是生活随笔為你收集整理的Java 内部类简介,理解,特点,注意事项的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数学分析:据理说明为什么每一个含有第一类
- 下一篇: UMLChina建模竞赛第3赛季第4轮: