fro*_*die 14 java default-constructor
我最近在一个类中看到了这个构造函数:
public MyClass(){ }
Run Code Online (Sandbox Code Playgroud)
没有其他建设者.
是否有一个原因?Java会自动创建一个默认构造函数,那么为什么要显式声明一个呢?或者这被认为是一种好的做法,就像对单语句if语句使用大括号一样 - 如果稍后添加其他构造函数而你忘记了你没有默认值......?
Mic*_*urr 16
在这种情况下,几个小点不太可能是你看到它的原因.
至于"如果以后添加其他构造函数并且您忘记了没有默认值" - 这可能是一个原因,我想.但是如果添加了非默认构造函数,那么使用默认构造函数的任何代码都将无法编译,因此添加新构造函数的人通常也需要为默认的ctor添加一个defintion.
再说一次,我无法想到定义空ctor的任何特别的伤害(虽然现在我输入了这个,我觉得有人可能会指出C++的某个角落,它可能会咬你).
| 归档时间: |
|
| 查看次数: |
4374 次 |
| 最近记录: |