為什么我輸出的是空值 求解釋一下
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
沒有構造函數,看Java入門1.10
2017-07-29
String name; // 聲明變量name
?String sex; // 聲明變量sex
?static int age;// 聲明靜態變量age
???
??? // 構造方法
?public HelloWorld(){
??System.out.println("通過構造方法初始化name");
??name = "tom";
?}
???
??? // 初始化塊
?{
??System.out.println("通過初始化塊初始化sex");
??sex = "男";
?}
???
??? // 靜態初始化塊
???????? static{
??System.out.println("通過靜態初始化塊初始化age");
??age = 20;
?}
???
?public void show() {
??System.out.println("姓名:" + name + ",性別:" + sex + ",年齡:" + age);
?}
???
?public static void main(String[] args) {
???????
??????? // 創建對象
??HelloWorld hello = new HelloWorld();
??// 調用對象的show方法
?????? hello.show();
???????
?}
2017-07-29
你的name,sex等的賦值都在別的函數里,你想用你賦的值得調用那些函數呀,在show函數里name,sex都是空的。
2017-07-29
如果這樣的話? 你至少要寫一個有參數的構造函數呀? 才能輸出 你的值呀? 你這樣的寫法? name age sex 都是默認值 當然 不顯示了呀