除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