為什么我輸出的是空值 求解釋一下
public?class?Test{ String?name; String?sex; static?int?age; public?void?mingzi(){ name="如意"; System.out.println(name); } public?void?xingbie(){ sex="女"; System.out.println(sex); } public?static?void?nianling(){ age=22; System.out.println(age); } public?void?show(){ System.out.println("名字"+name+"年齡"+age+"性別"+sex); } public?static?void?main(String[]?args){ Test?hello=new?Test(); hello.show(); } }
2017-07-29
public class Test {
String nameString;
String sexString;
static int ageInt;
public Test(String name, String sex, int age) {
nameString = name;
sexString = sex;
ageInt = age;
}
? ??
public void show(){
? ? ? ? System.out.println("名字"+nameString+"年齡"+sexString+"性別"+ageInt);
? ? }
public static void main(String[] arge) {
? ? ? ? ?Test demoTest=new Test("測試", "男", 27);
? ? ? ? ?demoTest.show();
}
}
2017-07-29
沒有構(gòu)造函數(shù),看Java入門1.10
2017-07-29
String name; // 聲明變量name
?String sex; // 聲明變量sex
?static int age;// 聲明靜態(tài)變量age
???
??? // 構(gòu)造方法
?public HelloWorld(){
??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();
???????
?}
2017-07-29
你的name,sex等的賦值都在別的函數(shù)里,你想用你賦的值得調(diào)用那些函數(shù)呀,在show函數(shù)里name,sex都是空的。
2017-07-29
如果這樣的話? 你至少要寫一個有參數(shù)的構(gòu)造函數(shù)呀? 才能輸出 你的值呀? 你這樣的寫法? name age sex 都是默認(rèn)值 當(dāng)然 不顯示了呀