構造器在 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

更新日期:2019-07-30

2K+ 次瀏覽

開啟您的職業

完成課程獲得認證

開始吧
廣告
© . All rights reserved.