我们已经了解了对象的诞生过程,但对象会存活多久呢?
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
对象的生命周期完全要看引用到它的“引用“,如果引用还活着,则对象也会继续活着。如果引用死了,则对象就会跟着殉情……陪葬……送命……
如果对象生命周期要看引用变量的生命周期而定,那变量到底会活多久?这又要看它是局部变量或实例变量而定。下面的程序展示出局部变量的生命周期。
局部变量只会存活在声明该变量的方法中
public void TestLifeOne {
public void read() {
int s = 42; //s的范围只限于read()里面,别处无法使用
sleep();
}
public void sleep() {
s = 7; //非法使用
}
}
1、局部变量只会存活在声明该变量的方法中
public void read() {
int s = 42; //'s'只能用在此方法中,当方法结束时s会消失
}
变量s只能用在read()方法中。换句话说,此变量的范围只局限在所属的方法范围内。其余的程序代码完全见不到s。
2、实例变量的寿命与对象相同。如果对象还活着,则实例变量也会是活的。
public class Life {
int size;
public void setSize(int s) {
size = s;
//'s'会在方法结束时消失,但size在类中到处都可用
}
}
此时s变量(这次是方法的参数)的范围同样也只限制在所属的setSize()这个方法中。
在线练习
{$ activeFileHint $}