一、final關鍵字的概述
在Java中,final是一個關鍵字,可以用來修飾類、方法和變量。final修飾的類不允許被繼承,修飾的方法不允許被子類重寫,修飾的變量初始化後不可改變。
二、final關鍵字應用於變量
使用final修飾的變量必須被初始化,不可再次賦值。final變量表示一個常量,一旦初始化,其值不可改變。
public class FinalVariableDemo { public static void main(String[] args) { final int x = 10; // x = 20; // error: cannot assign a value to final variable x System.out.println(x); } }
在上面的代碼中,我們聲明了一個final變量x,並初始化為10。當我們嘗試給x再次賦值時,編譯器會報錯。
三、final關鍵字應用於方法
使用final修飾的方法不可被子類重寫。如果在父類中某個方法實現已經足夠完美,不需要子類來覆蓋該方法的實現,那麼可以使用final關鍵字將該方法標記為不可被重寫。
public class FinalMethodDemo { public final void message() { System.out.println("Final methods cannot be overriden."); } } class ChildClass extends FinalMethodDemo { public void message() { System.out.println("This method cannot be overridden, but this message can be changed."); } }
在上面的代碼中,我們使用final關鍵字修飾了父類的message()方法。子類將無法覆蓋該方法的實現,但可以更改該方法的輸出信息。
四、final關鍵字應用於類
使用final修飾的類不可被繼承,即該類不能有任何子類。
public final class FinalClassDemo { public void message() { System.out.println("This is a final class."); } } class ChildClass extends FinalClassDemo { // error: cannot inherit from final FinalClassDemo public void message() { System.out.println("This class cannot be extended."); } }
在上面的代碼中,我們使用final關鍵字修飾了父類FinalClassDemo,子類ChildClass無法繼承該類。
五、public final關鍵字的作用
當public和final同時修飾一個變量時,該變量為常量,可被其他類訪問,其值不可改變。
public class FinalVariableDemo { public static final int NUMBER = 10; public static void main(String[] args) { // NUMBER = 20; // error: cannot assign a value to final variable NUMBER System.out.println(NUMBER); } }
在上面的代碼中,我們聲明了一個public和final修飾的常量NUMBER,值為10。其他類可以直接訪問該常量,並且其值不可改變。
六、總結
final關鍵字可以用來修飾類、方法和變量,分別表示不可被繼承、不可被重寫和不可改變。public final修飾的變量為常量,可被其他類訪問,不可更改。
原創文章,作者:EWKM,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/132346.html