Java 中的構造器能否被標記為 final、abstract 或 static?
除了 public、protected 和 private 外,構造器不允許任何其他修飾符。
當你在方法或構造器中使用final關鍵字時,它不能被重寫。但是,Java 中的構造器無法被重寫,因此,無需在構造器中使用 final 關鍵字。
由於你無法重寫構造器,因此如果它是抽象的,你無法向它提供主體。因此,你無法在構造器中使用 abstract 關鍵字。
如果你想在例項化類之前呼叫類的成員,你需要在它之前使用 static。但是,在例項化時會隱式呼叫承包商。因此,在構造器中使用 static 沒有意義。
示例
public class Sample { public final static Sample(){ System.out.println("Hello"); } public static void main(String args[]) throws Exception{ Sample obj = new Sample(); } }
輸出
C:\Sample>javac Sample.java Sample.java:2: error: modifier static, final not allowed here public final static Sample(){ ^ 1 error
廣告