final關鍵字、內部類、四種許可權修飾符
Final關鍵字
1、fianl修飾一個類:格式:public final class 類名稱{//},這個類不能有任何的子類。
2、final修飾一個方法:格式:public final 返回值型別 方法名稱(引數列表){//方法體},該方法不能被子類覆蓋重寫。對於類和方法來說abstract和final不能同時使用,因為矛盾。
3、final修飾一個區域性變數:格式:final 資料型別 變數名 = 數值。該變數不能進行改變,一次賦值終身不變。對於基本型別來說不可變就是變數中的資料不變,對於引用型別來說,不可變就是變數中的地址值不可變。
4、final下修飾一個成員變數:格式等同於區域性變數,但是由於成員變數具有預設值,所以用了final之後必須手動賦值,要麼直接賦值,要麼通過構造方法賦值(二者選其一)。
四種修飾符的訪問許可權
| Public | Protected | Default | Private |
同一個類 | yes | yes | yes | Yes |
同包不同類 | Yes | yes | yes | no |
不同包子類 | yes | yes | no | No |
不同包非子類 | yes | no | no | no |
許可權修飾符修飾類時:
外部類:public/default
成員內部類:四種都行。
區域性內部類:不使用許可權修飾符。
內部類
1、分類:成員內部類、區域性內部類(包含匿名內部類)。
2、成員內部類:
格式:修飾符 class 外部類{修飾符 class 內部類{}}。
內用外,隨意訪問;外用內需要內部類物件。
使用成員內部類的兩種方式:
a.間接方式:在外部類的方法中,使用內部類,然後main只是呼叫外部類的方法。
b.直接使用:外部類名稱.內部類名稱 物件名 = new 外部類名稱().new 內部類名稱();
在內部類中如何訪問外部類的同名變數:外部類名稱.this.外部類成員變數。
3、區域性內部類:
格式:修飾符 class 外部類名稱{修飾符 返回值型別 外部類方法名(引數列表){ class 內部類名稱{}}}
區域性內部類只能在包含他的方法中才能使用,出了方法就不能用了。
區域性內部類,如果希望訪問所在方法的區域性變數,那麼這個區域性變數必須是有效final的(即區域性變數需要保持不變或者新增final修飾符)。原因:new出來的物件在堆記憶體中,而區域性變數是跟著方法走的,在棧記憶體中,方法執行結束後立刻出棧區域性變數跟著消失,但是內部類物件會持續存在,直到垃圾回收。
4、匿名內部類:
格式:父類(介面名稱)物件名 = new 父類(介面名稱)(){//實現重寫所有抽象方法。};
適用場景:當介面的實現類或者父類的子類,只需要使用唯一的一次,那麼這種情況下就可以省略該類的定義,改為使用匿名內部類。
相關文章
- 許可權修飾符和final關鍵字
- Java 的包, 許可權修飾符與final關鍵字Java
- 許可權修飾符
- 四種許可權修飾符的簡單介紹
- 物件與引用,static關鍵字,程式碼塊,包,訪問許可權修飾符物件訪問許可權
- java oop 修飾符&關鍵字JavaOOP
- PHP 物件導向 (一)許可權修飾符PHP物件
- java中public,protected,private關鍵字以及預設訪問許可權修飾符的用法細節Java訪問許可權
- Java 類與物件(繼承extends super關鍵詞 方法重寫 抽象abstract 訪問修飾符/許可權控制符)Java物件繼承抽象
- 封裝、許可權修飾符、封裝的案例封裝
- Java入門筆記(六)——訪問許可權修飾符Java筆記訪問許可權
- 許可權修飾符,方法及異常瞭解一下
- Vue - 按鍵修飾符 && 系統修飾符Vue
- Java中final修飾符都有什麼作用Java
- final修飾和static final修飾的區別
- Kotlin可見性修飾符Kotlin
- final關鍵字
- DRF內建許可權元件之自定義許可權管理類元件
- JAVA基礎語法——識別符號、修飾符、關鍵字(個人整理總結)Java符號
- Day39--類修飾符
- TypeScript 類訪問修飾符TypeScript
- final關鍵字和static關鍵字
- Java 建構函式與修飾符詳解:初始化物件與控制許可權Java函式物件
- MongoDB ( 四 )高階_find修飾符MongoDB
- Java Final關鍵字Java
- java中被final修飾的常用類有哪些?Java
- JAVA物件導向高階:繼承:許可權修飾符(繼承注意事項) 單繼承 Object類 方法重寫Java物件繼承Object
- Java 關鍵字之 finalJava
- Java中final關鍵字Java
- final關鍵字深入解析
- 探索 Solidity 中的各種修飾符Solid
- 深入理解 Java 修飾符與封裝:訪問許可權、行為控制與資料隱藏Java 修飾符封裝訪問許可權行為控制資料隱藏
- Java 修飾符Java 修飾符
- java修飾符Java
- Java之private關鍵字修飾成員變數Java變數
- final修飾Map的作用
- final修飾String的作用
- Java併發--final關鍵字Java