構件函式能在 Java 中設成 final 嗎?
不行,建構函式不能設為 final。
任何子類都不能覆蓋 final 方法。如前所述,final 修飾符防止子類修改方法。
使方法變為 final 的主要目的是防止任何外部程式修改該方法的內容。
但在繼承中,子類將會繼承父類的成員,建構函式除外。
換句話說,Java 中不能繼承建構函式,因此沒有必要在建構函式前使用 final。因此,Java 不允許在建構函式前使用 final 關鍵字。如果你嘗試這樣做,編譯時會報錯,如下例所示。
示例
public class Sample { public static void main(String args[]){ int num; final public Sample(){ num = 30; } } }
輸出
Exception in thread "main" java.lang.Error: Unresolved compilation problems: Syntax error, insert "enum Identifier" to complete EnumHeaderName Syntax error, insert "EnumBody" to complete BlockStatement Syntax error, insert ";" to complete Statement at newJavaExamples.Sample.main(Sample.java:6)
廣告