Java 如何从默认构造函数调用set方法?
我正在处理一个赋值,它要求我创建“一个默认构造函数和一个第二个构造函数,该构造函数期望所有三个值都作为参数传递Java 如何从默认构造函数调用set方法?,java,Java,我正在处理一个赋值,它要求我创建“一个默认构造函数和一个第二个构造函数,该构造函数期望所有三个值都作为参数传递 public Cat(String newName, int newYearOfBirth, int newWieghtInKilos ) { setName(newName); setYearOfBirth(newYearOfBirth); setWeightInKilos(newWieghtInKilos); } 如何创建调用set方法的默认构造函数 空
public Cat(String newName, int newYearOfBirth, int newWieghtInKilos )
{
setName(newName);
setYearOfBirth(newYearOfBirth);
setWeightInKilos(newWieghtInKilos);
}
如何创建调用set方法的默认构造函数 空构造函数可以使用具有默认值的setter
public Cat()
{
setName(defaultName);
setYearOfBirth(defaultYearOfBirth);
setWeightInKilos(defaultWieghtInKilos);
}
public Cat(){
this("",0,0);
}
您只需在默认构造函数中设置默认值
public Cat() {
setName("MyName");
setYearOfBirth(1987);
setWeightInKilos(55);
}
或者,您也可以设置空值。您可以使用与重载构造函数相同的方式从默认构造函数调用setter
public Cat() {
setName("MyName");
setYearOfBirth(1987);
setWeightInKilos(55);
}
这里唯一的区别是,在默认构造函数中,没有为您提供任何要传递给setter的值
但是,如果希望使用默认值初始化这些字段,则可以使用这些默认值调用setter。您可以告诉受让人,从两个构造函数调用set方法是错误的做法。您的默认构造函数可能很乐意使用带有默认值的参数构造函数
public Cat()
{
setName(defaultName);
setYearOfBirth(defaultYearOfBirth);
setWeightInKilos(defaultWieghtInKilos);
}
public Cat(){
this("",0,0);
}
这将有助于代码重用