新建Duck状态的初始化
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
大部分的人都是使用构造函数来初始化对象的状态。也就是说设置和给对象的实例变量赋值。
public Duck() {
size = 34;
}
这在开发者知道Duck
类个头应该有多大时是没问题的。但如果是要由使用Duck
的程序员来决定时应该怎么办?
你可以使用该类的setSize()
来设定大小,但这会让Duck暂时处于没有大小数值的状态,且需要两行才能搞定。下面就是这么做的:
public class Duck {
int size;
public Duck() {
System.out.println("Quack");
}
public void setSize(int newSize) {
size = newSize;
}
}
使用构造函数来初始化Duck的状态
如果某种对象不应该在状态被初始化之前就使用,就别让任何人能够在没有初始化的情况下取得该种对象!让用户先构造出Duck对象再来设定大小是很危险的。如果用户不知道,或者忘记要执行setSize()怎么办?
最好的办法是把初始化的程序代码放在构造函数中,然后把构造函数设定成需要参数的。
在线练习
{$ activeFileHint $}