14 final 許可權修飾符 內部類

2021-10-03 16:22:06 字數 873 閱讀 6801

final修飾詞表示不可變

1、修飾類時,該類不能有子類

2、修飾方法時,該方法不能覆蓋重寫

3、修飾成員變數時,該變數宣告時必須賦值、且不可更改

4、修飾區域性變數時,該變數宣告時可以不賦值,但是後面賦值只能賦值一次

上圖展示了四個許可權修飾詞的作用範圍

定義在成員變數位置,成員方法外的類稱為成員內部類

格式:

修飾詞 class 類名稱 

}

注意事項:

內用外可以直接用,外用內需要先建立內部類的物件

內部類訪問外部類的成員變數時

外部類名稱.

this

.變數名

定義在方法中的類稱為區域性內部類

修飾詞 class 外部類名稱 

內部類名稱 物件名 =

new 內部類名稱();

}}

區域性內部類訪問該方法的區域性變數的時候,該區域性變數需要用final修飾(1.8之後,可以省略修飾詞,但是只能賦值一次以確保該變數不變);

因為方法結束後區域性變數被記憶體釋放了,但是類物件還保留著,仍需要訪問該區域性變數,此時,該區域性變數被複製到了堆中,所以如果該區域性變數能夠變化的話,複製就沒意義了。

修飾詞 class 外部類名稱 ;

}}

注意事項:

1、此時的類是匿名類,類體寫在大括號中

2、賦值語句結束的分號別忘記

3、如果省略了賦值語句,就是用匿名內部類建立了匿名物件。

內部類,匿名內部類,許可權修飾符

二.匿名內部類 三.許可權修飾符 public class a 格式 外部類物件.內部類物件 物件名 new 外部類物件.new 內部類物件 不使用匿名內部類呼叫抽象物件中的方法 建立子類,繼承父類 重寫方法 建立子類物件 呼叫重寫方法 使用匿名內部類 無需建立子類直接new父類即可 格式一 new...

許可權修飾符與內部類

一 包 1.包包就是對類進行分類管理 com.fruit.manage.add com.fruit.manage.update 2.包的命名規則 公司網域名稱的倒序 全部小寫 多個包之間用.分割 3.乙個類中的組成順序 package import class 二 許可權修飾符 public 本類 ...

許可權修飾符和內部類

final關鍵字代表最終 不可改變的。學習了繼承後,我們知道子類可以在父類的基礎上改寫父類內容,比如方法重寫。為了避免隨意改寫的情況發生,j a提供了 final 關鍵字,用於修飾不可改變內容 主要表現在使用final關鍵字後 修飾類 格式 public final class 類名稱含義 當前這個...