gpt4 book ai didi

java - 为什么构造函数不能是最终的、静态的或抽象的?

转载 作者:IT老高 更新时间:2023-10-28 11:51:15 25 4
gpt4 key购买 nike

为什么构造函数在 Java 中不能是最终的、静态的或抽象的?

例如,您能向我解释一下为什么这是无效的吗?

public class K {

abstract public K() {
// ...
}
}

最佳答案

当您将方法设置为 final 时,这意味着:“我不希望任何类覆盖它。” 但根据 Java 语言规范:

JLS 8.8 - "Constructor declarations are not members. They are never inherited and therefore are not subject to hiding or overriding."

当你将一个方法设置为abstract时,它的意思是:“这个方法没有主体,它应该在子类中实现。”但是构造函数在使用 new 关键字时被隐式调用,因此它不能缺少正文。

当你将一个方法设置为static时,它的意思是:“这个方法属于这个类,而不是一个特定的对象。”但是构造函数被隐式调用来初始化一个对象,所以有一个静态构造函数是没有意义的。

关于java - 为什么构造函数不能是最终的、静态的或抽象的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9477476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com