可以在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

以上是 可以在Java中将构造函数标记为final,abstract或static吗? 的全部内容, 来源链接: utcz.com/z/345527.html

回到顶部