一、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-tw/n/132346.html
微信掃一掃
支付寶掃一掃