您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

为什么在Java中构造函数不能是final的?

2024/3/18 9:29:30发布29次查看
每当你将一个方法声明为final时,你就不能覆盖它。也就是说,你不能为子类提供对超类的final方法的实现。
也就是说,将一个方法声明为final的目的是防止从外部(子类)修改该方法。
在继承中,当你扩展一个类时,子类会继承超类的所有成员,除了构造函数。
换句话说,构造函数不能在java中被继承,因此你不能覆盖构造函数。
因此,在构造函数前面加上final没有意义。因此,java不允许在构造函数前使用final关键字。
如果你尝试将构造函数声明为final,将会产生一个编译时错误,提示“modifier final not allowed here”。
示例在以下java程序中,student类有一个被声明为final的构造函数。
演示
public class student { public final string name; public final int age; public final student() { this.name = "raju"; this.age = 20; } public void display() { system.out.println("name of the student: "+this.name ); system.out.println("age of the student: "+this.age ); } public static void main(string args[]) { new student().display(); }}
编译时错误在编译时,上述程序会生成以下错误。
student.java:6: error: modifier final not allowed here public final student(){ ^1 error
以上就是为什么在java中构造函数不能是final的?的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product