构件函数能在 Java 中设成 final 吗?
不行,构造函数不能设为 final。
任何子类都不能覆盖 final 方法。如前所述,final 修饰符防止子类修改方法。
使方法变为 final 的主要目的是防止任何外部程序修改该方法的内容。
但在继承中,子类将会继承父类的成员,构造函数除外。
换句话说,Java 中不能继承构造函数,因此没有必要在构造函数前使用 final。因此,Java 不允许在构造函数前使用 final 关键字。如果你尝试这样做,编译时会报错,如下例所示。
示例
public class Sample { public static void main(String args[]){ int num; final public Sample(){ num = 30; } } }
输出
Exception in thread "main" java.lang.Error: Unresolved compilation problems: Syntax error, insert "enum Identifier" to complete EnumHeaderName Syntax error, insert "EnumBody" to complete BlockStatement Syntax error, insert ";" to complete Statement at newJavaExamples.Sample.main(Sample.java:6)
广告