可以在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.javaSample.java:2: error: modifier static, final not allowed here
public final static Sample(){
^
1 error
以上是 可以在Java中将构造函数标记为final,abstract或static吗? 的全部内容, 来源链接: utcz.com/z/345527.html