目錄
一、概念
二、修飾範圍
將方法或類宣告為final,主要目的是:確保他們不會在子類中改變語義。
有些類在描述完之後,不想被繼承,或者有些類中的部分方法功能是固定的,不想讓子類重寫。就可以使用final關鍵字解決,它可以用來修飾類,類的成員,以及區域性變數。
例如string類被final修飾,這意味著不允許任何人定義string的子類。即string的引用一定是乙個string物件,而不可能是其他類的物件。
①類,該類不能被繼承,不能擁有子類
②方法,不可以被覆蓋,即不能被重寫
③變數,稱為常量,這些變數只能賦值一次
④引用型別,引用型別的變數值為物件位址值,位址值不能更改,但是位址內的物件屬性值可以修改
final person p = new person();
person p2 = new person();
//final修飾的變數p,所記錄的位址值不能改變
p = p2;
//可以更改p物件中name屬性值
p.name = "小明";
⑤成員變數,需要在建立物件前賦值,否則報錯。(當沒有顯式賦值時,多個構造方法的均需要為其賦值,以防止該變數沒有被初始化)
public class demo
public demo(string name)
}
JavaSE筆記之 final關鍵字》
可能使用到final的三種情況 資料 方法 類 一 資料 final使基本資料型別的資料為常量,不可改變 使引用恆定不變,當在引數中使用final時,引用在方法體內不可改變。我們不能因為某資料時final的就認為在編譯時可以知道它的值,在執行時使用隨機生成也可初始化。final static int...
(JavaSE)十二 final關鍵字
為什麼要使用final 修飾符?繼承關係最大弊端是破壞封裝 子類能訪問父類的實現細節,而且可以通過方法覆蓋的形式修改實現細節.final最終的含義是 最終的,不可改變的 它可以修飾非抽象類 非抽象的方法和變數。注意 構造方法不能用final修飾,因為構造方法不能被繼承,肯定就是最終的。表示最終類,不...
java之final關鍵字
final 最終,作為乙個修飾符 1.可以修飾類 變數 函式 2.被final修飾的類不可以被繼承。為了避免被繼承,被子類複寫功能。3.被final修飾的方法不可以被複寫 4.被final修飾的變數是乙個常量只能賦值一次,即可以修飾成員變數,又可以修飾區域性變數 當在描述事物時,一些資料的出現值是固...