[英]Proper variable initialization and call from another class
我在下面有這兩個例子:
示例 1:
public class class1{
private classN var1;
public class1(param1) {
var1 = new classN(param1); //here I initialize var1;
}
public void setVar1(param1){
this.var1 = new classN(param1)
}
public classN getVar1(){
return this.var1;
}
}
public class class2{
private class1 c1;
public class2(param) {
this.c1 = new class1(param);
}
public void handle(){
c1.setVar1(sth);
}
}
例子2:
public class class1{
private classN var1; //var1 not initialized inside constructor
public class1() {}
public void setVar1(param1){
this.var1 = new classN(param1);
}
public classN getVar1(){
return this.var1;
}
}
public class class2{
private class1 c1;
public class2() {
this.c1 = new class1();
}
public void handle(){
c1.setVar1(sth);
}
}
我想問兩件事:
先感謝您。
class1
。 在示例 2 中,變量未初始化並被賦予默認值null
直到稍后設置setVar1
getVar1
打電話之前handle
,你會得到默認null
值。兩個例子是否相等?
不,在 -1 的情況下, new class1(param);
初始化var1;
(到非空值),在第二種情況下, var1
將為null
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.