請(qǐng)各位大神幫我看一下
package zuoshiyan;
public class HelloWorld1 {
int sum1;
int sum2;
static int sum3;
public void a() {
sum1=12;
System.out.println("diyici");
}
{
sum2=13;
}
{
sum3=14;
}
public static void main(String[] args) {
HelloWorld1 hello=new HelloWorld1();
System.out.println(hello.sum1);
System.out.println(hello.sum2);
System.out.println(sum3);
HelloWorld1 hello2=new HelloWorld1();
HelloWorld1 hello3=new HelloWorld1();
}
}
/*此操作運(yùn)行結(jié)果為:
?* 0
?* 13
?* 14
?*請(qǐng)問(wèn),為什么不對(duì)sum1賦值
?*難道就必須要用構(gòu)造方法才行么
?*/
2018-11-25
你對(duì)sum1的賦值時(shí)放在一個(gè)方法里的,創(chuàng)建hello對(duì)象后沒(méi)有使用這個(gè)方法,所以sum1的值是系統(tǒng)默認(rèn)的int型的值,就是0了
2018-11-25
sum1=12的作用范圍好像只有在a()這個(gè)方法中,而你的main里面沒(méi)有用到a()這個(gè)方法,所以等于沒(méi)有對(duì)這個(gè)sum1賦值,所以還是默認(rèn)0