Jan*_*nie -2 java parameters constructor
他们为什么要用?顺便说一下,我是初学者.我理解初始化值的默认构造函数,因为它具有逻辑意义,但为什么使用带参数的构造函数来表示实例变量age例如等于a.什么目的?没有它,只有初始化构造函数会发生什么?这里提出的其他问题没有意义,例如:
public class MyCats {
private int age;
private String name;
public MyCats(int a, String n) { // why do I need this?
age = a;
name = n;
}
public MyCats() {
age = 0;
name = "";
}
}
Run Code Online (Sandbox Code Playgroud)
这是为了轻松创建您的类而无需额外的代码.例如,而不是做:
MyCats a = new MyCats();
a.setAge(12);
a.setName("Foo");
Run Code Online (Sandbox Code Playgroud)
你可以这样做:
MyCats a = new MyCats(12, "Foo");
Run Code Online (Sandbox Code Playgroud)
更简单,哼哼?
其他原因你可能更喜欢后者,如果短缺是不够的:
大多数情况下,在最后一种情况下,能够在构造时检查正确性并禁止任何对象处于无效状态非常有用,以后可以节省大量错误.
| 归档时间: |
|
| 查看次数: |
78 次 |
| 最近记录: |