java靜態內部類理解
阿新 • • 發佈:2020-12-19
java靜態內部類的理解
需要了解2個概念:內部類和靜態修飾符static
1)首先,用內部類是因為內部類與所在外部類有一定的關係,往往只有該外部類呼叫此內部類。所以沒有必要專門用一個Java檔案存放這個類。
2)靜態都是用來修飾類的內部成員的。比如靜態方法,靜態成員變數,靜態常量。它唯一的作用就是隨著類的載入(而不是隨著物件的產生)而產生,以致可以用類名+靜態成員名直接獲得。static關鍵字的作用是把類的成員變成類相關,而不是例項相關
這樣靜態內部類就可以理解了,因為這個類沒有必要單獨存放一個檔案,它一般來說只被所在外部類使用。並且它可以直接被用 外部類名+內部類名 獲得。
以下舉例說明怎麼使用:
Student類有個叫School的內部類(非靜態的內部類!
Student stu = new Student(); stu.School sch = new stu.School();//必須先例項化外部類,才能.出內部類
sch就是School的一個物件。
假如School是靜態內部類:
Student.School sch = new Student.School();
這個內部類就屬於外部類本身,而不屬於外部類的某個物件
參考:
https://www.cnblogs.com/jinsheng1027/p/11412083.html
https://blog.csdn.net/cd18333612683/article/details/79129503 內有demo