每當你將一個方法宣告為final時,你就無法覆寫它。也就是說,你不能為子類別提供超類別的final方法的實作。
也就是說,將一個方法宣告為final的目的是防止從外部(子類別)修改該方法。
在繼承中,當你擴展一個類別時,子類別會繼承超類別的所有成員,除了建構子。
換句話說,建構子不能在Java中被繼承,因此你不能覆寫建構子。
因此,在建構子前面加上final沒有意義。因此,Java不允許在建構函式前使用final關鍵字。
如果你嘗試將建構函式宣告為final,將會產生一個編譯時錯誤,提示「modifier final not allowed here」。
在下列Java程式中,Student類別有一個被宣告為final的建構子。
示範
public class Student { public final String name; public final int age; public final Student() { this.name = "Raju"; this.age = 20; } public void display() { System.out.println("Name of the Student: "+this.name ); System.out.println("Age of the Student: "+this.age ); } public static void main(String args[]) { new Student().display(); } }
在編譯時,上述程式會產生以下錯誤。
Student.java:6: error: modifier final not allowed here public final Student(){ ^ 1 error
以上是為什麼在Java中構造函式不能是final的?的詳細內容。更多資訊請關注PHP中文網其他相關文章!