為什么我的這個代碼中第一個構(gòu)造方法內(nèi)的name沒有執(zhí)行
public class HelloWorld {
? ??
? ? String name; // 聲明變量name
String sex; // 聲明變量sex
static int age;// 聲明靜態(tài)變量age
? ? // 構(gòu)造方法
public void main() {?
System.out.println("通過構(gòu)造方法初始化name");
name = "tom";
}
? ??
? ? // 初始化塊
{
System.out.println("通過初始化塊初始化sex");
sex = "男";
}
? ??
? ? // 靜態(tài)初始化塊
static ?{?
System.out.println("通過靜態(tài)初始化塊初始化age");
age = 20;
}
? ??
public void show() {
System.out.println("姓名:" + name + ",性別:" + sex + ",年齡:" + age);
}
public static void main(String[] args) {
? ? ? ??
? ? ? ? // 創(chuàng)建對象
HelloWorld hello = new HelloWorld();
// 調(diào)用對象的show方法
? ? ? hello.show(); ?
? ? ? ??
}
}
執(zhí)行結(jié)果:
通過靜態(tài)初始化塊初始化age
通過初始化塊初始化sex
姓名:null,性別:男,年齡:20
2015-08-14
你都沒寫構(gòu)造方法,用的是JAVA默認(rèn)的無參構(gòu)造器。
加上這段就可以了
2015-09-10
public void main() {?
System.out.println("通過構(gòu)造方法初始化name");
name = "tom";
}
也可以通過對象調(diào)用hello.main()
public void show() {
System.out.println("姓名:" + name + ",性別:" + sex + ",年齡:" + age);
}
改為:
public void show() {
System.out.println(性別:" + sex + ",年齡:" + age);
}
通過對象定義hello.show()