0

我正在处理一个要求我创建“一个默认构造函数和一个第二个构造函数,期望所有三个值都作为参数传递的赋值。从两个构造函数调用“set”方法”我已经完成了第二个构造函数,如下所示;

public Cat(String newName, int newYearOfBirth, int newWieghtInKilos )
{
    setName(newName);
    setYearOfBirth(newYearOfBirth);
    setWeightInKilos(newWieghtInKilos); 
}

如何创建调用 set 方法的默认构造函数?

4

4 回答 4

1

空构造函数可以使用具有默认值的设置器。

public Cat()
{
    setName(defaultName);
    setYearOfBirth(defaultYearOfBirth);
    setWeightInKilos(defaultWieghtInKilos); 
}
于 2013-03-04T07:20:37.573 回答
1

您可能会告诉受让人从两个构造函数中调用 set 方法是错误的做法。您的默认构造函数可能会愉快地使用具有默认值的参数构造函数。

public Cat(){
    this("",0,0);
}

这将有助于代码重用。

于 2013-03-04T07:36:31.097 回答
0

您可以简单地在默认构造函数中设置默认值。

public Cat() {
    setName("MyName");
    setYearOfBirth(1987);
    setWeightInKilos(55);
}

或者,您也可以设置空值。

于 2013-03-04T07:21:19.350 回答
0

您可以使用与在重载构造函数中相同的方式从默认构造函数调用 setter。

这里唯一的区别是,在默认构造函数中,你没有被赋予任何值来传递给 setter。

但是,如果您希望使用默认值初始化这些字段,则可以使用这些默认值调用设置器。

于 2013-03-04T07:34:35.580 回答