liven0917
liven0917
采纳率50%
2016-05-03 00:46 阅读 1.1k
已采纳

java 有参构造中的值给不进去,很蛋疼,谁帮我看看到底哪出了问题

class Demo_exdents {
public static void main(String[] args) {
Son s1 = new Son();
s1.setname("张三");
s1.setage(23);
System.out.println(s1.getname() + " " + s1.getage());
System.out.println("----------------------------");
Son s2 = new Son("李四",24);
System.out.println(s2.getname() + " " + s2.getage());
}
}

class Father {
private String name ;
private int age;
public Father() {
System.out.println("Father 空参构造");
}
public Father(String name , int age) {
System.out.println("Father 有参构造");

}
public void setname(String name) {
this.name = name;
}
public String getname() {
return name;
}
public void setage(int age) {
this.age = age;
}
public int getage() {
return age;
}
}

class Son extends Father {
public Son() {

    System.out.println("Son   空参构造");
}
public Son(String name , int age) {
    super(name,age);
    System.out.println("Son   有参构造");
}

}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

7条回答 默认 最新

  • 已采纳
    qq_32371277 Zktiannnnn 2016-05-03 03:11

    你在父类有参构造中也得传值呀,不能光print

    点赞 1 评论 复制链接分享
  • qq_20079725 SuperNoobTao 2016-05-03 00:50

    有参构造也得给他值呀。你试试在father的有参构造中加上 this.name=name
    this.age=age

    点赞 5 评论 复制链接分享
  • keyduns keyduns 2016-05-03 10:37

    get,set方法是手动敲的吗,正常应该是 getName,setName,getAge,setAge

    点赞 1 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2016-05-03 01:40
     public Father(String name , int age) 
    {
    setname(name);
    setage(age);
    }
    
    点赞 评论 复制链接分享
  • King_YI BATUS 2016-05-03 02:49

    public Son(String name , int age) {
    super(name,age);
    System.out.println("Son 有参构造");
    }

    这里别用 super();

    点赞 评论 复制链接分享
  • u010725245 走那么多弯路 2016-05-03 03:35

    属性get、set方法中,get或者set后面的单词首字母要大写,不然值进不去!

    点赞 评论 复制链接分享
  • qq_34867754 qq_34867754 2016-05-03 07:32

    楼上正解,super方法最好不要用

    点赞 评论 复制链接分享

相关推荐