为什么 Java 中 如果我们自定义了一个构造方法,那么,编译器就不再自动创建默认构造方法?
Topic source我自己都不知道,自己在做什么?他编译器,又怎么知道我在做什么?
查了一下,说是,防止和自己写的,冲突了
为什么Java写个带参的构造方法,那无参的就必须再显示写一个_pojo为什么要把有参构造和无参构造都要写出来_道里听音的博客-CSDN博客
我觉得不够智能
如果我们自定义了一个构造方法,那么,编译器就不再自动创建默认构造方法:
原因是,当你为类编写了一个有参构造函数时,Java不会再自动提供无参构造函数。这是 Java 编程语言的设计选择之一。而如果你想要有无参构造函数,你需要显式地自己写一个。
这样设计的原因之一是为了让程序员能够更加明确地控制他们的类,避免不必要的自动生成。例如,如果一个类是设计用于创建对象时需要一些必要信息,而没有无参构造函数的存在可以防止程序员误以为可以在没有必要信息的情况下创建对象。
另外,这也有助于增强代码的可读性。当其他开发者查看你的代码时,他们可以清楚地看到哪些构造函数是有意为之,哪些是自动生成的。
正因如此,Java之所以设计为没有显式提供有参构造函数的情况下不再自动提供无参构造函数,是为了让程序员更加明确地控制类的构造函数,以及为了提高代码的可读性和可维护性。
- 1
🌙