gpt4 book ai didi

java - 没有参数和默认构造函数混淆

转载 作者:行者123 更新时间:2023-12-01 09:40:32 24 4
gpt4 key购买 nike

这是一个没有参数构造函数的代码

public class misc2 {


misc2(String x){

}

public static void main(String ... args){

misc2 m = new misc2(); // this throws a compilation error

}
}

我的问题是,当 Java 自动创建默认构造函数(在本例中为 Misc2(){...})时,为什么它会引发编译错误。如果尚未定义。

另外,现在如果我添加一个无参数构造函数misc2(){...},它实际上是由JVM 调用的。是默认参数还是无参数。第二个问题是,如果Java已经创建了一个没有参数的默认构造函数,那么在Java程序中某些情况下还需要显式创建构造函数吗?

最佳答案

当且仅当未提供其他显式构造函数时,Java 才会创建默认构造函数。

来自文档:

您不必为您的类提供任何构造函数,但执行此操作时必须小心。编译器会自动为任何没有构造函数的类提供无参数的默认构造函数。

参见:https://docs.oracle.com/javase/tutorial/java/javaOO/constructors.html

关于java - 没有参数和默认构造函数混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38487314/

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