更新時間:2020-04-30 14:44:52 來源:動力節點 瀏覽5720次
一、內部類內容解析
1.內部類的區分
內部類分別有成員內部類、局部內部類、匿名內部類、靜態內部類,接下來將分別介紹。
2.成員內部類
就是位于外部類成員位置的類。與外部類的屬性、方法并列。
成員內部類作為外部類的成員,可以訪問外部類的私有成員或屬性。(即使將外部類聲明為private,但是對于處于其內部的內部類還是可見的。)
用成員內部類定義在外部類中不可訪問的屬性。這樣就在外部類中實現了比外部類的private還要小的訪問權限。
注意:內部類是一個編譯時的概念,一旦編譯成功,就會成為完全不同的兩類。對于一個名為outer的外部類和其內部定義的名為inner的內部類。編譯完成后出現outer.class和outer$inner.class兩類。
①.代碼例子
②.作用
數據安全。如果我們的內部類不想輕易被任何人訪問,可以選擇使用private修飾內部類,這樣我們就無法通過創建對象的途徑來訪問,想要訪問只需要在外部類中定義一個public修飾的方法,間接調用。這樣做的好處就是,我們可以在這個public方法中增加一些判斷語句,起到數據安全的作用。
3.局部內部類
定義在一個方法或者一個作用域里面的類。
局部內部類中不可定義靜態變量,可以訪問外部類的局部變量(即方法內的變量),但是變量必須是final的。
①.代碼例子
局部內部類只能在所在的方法體作用域內進行實例化,而如果要在所在方法體返回該類,就要通過接口向上轉型的操作。(如同上處代碼)
②.作用
在某些情況下,某些業務邏輯需要臨時處理,這些業務邏輯只在這里使用又可以封裝成一個類的話,而又沒必要重新建個文件,所以可以這寫一個局部內部類來處理。然后,在我的記憶中,java代理模式中有用到局部內部類,在方法中直接實現接口,返回代理對象,簡單而又方便。
4.靜態內部類
靜態字段的內部類,和靜態方法并列。
①.代碼例子
②.作用
提供調試作用。我將main方法寫在靜態內部類中,生成.class文件后,調試代碼在靜態內部類當中,當我刪除靜態內部類后,其他人仍然可以使用我的外部類。
以上就是動力節點java培訓機構的小編針對“Java基礎學習:java內部類的作用”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習