为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我输出的是空值 求解释一下

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();
	}
}


正在回答

5 回答

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();

}

}


0 回复 有任何疑惑可以回复我~
#1

qq_Sun丶_2 提问者

非常感谢!
2017-07-29 回复 有任何疑惑可以回复我~

没有构造函数,看Java入门1.10

0 回复 有任何疑惑可以回复我~

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();
       
 }

0 回复 有任何疑惑可以回复我~

你的name,sex等的赋值都在别的函数里,你想用你赋的值得调用那些函数呀,在show函数里name,sex都是空的。

0 回复 有任何疑惑可以回复我~

如果这样的话  你至少要写一个有参数的构造函数呀  才能输出 你的值呀  你这样的写法  name age sex 都是默认值 当然 不显示了呀

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我输出的是空值 求解释一下

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信