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 類名稱含義 當前這個...