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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP