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

为什么第一种方式可以编译成功;第二种就出错了呢

为什么第一种方式可以编译成功;第二种就出错了呢

孤城少主 2016-06-14 23:24:20
查看完整描述

1 回答

已采纳
?
冰山点水

TA贡献109条经验 获得超149个赞

可能是你的getName和getAge方法的参数有问题,你仔细检查下,从你这里的代码来看,getName方法应该有个String参数,getAge方法应该有个int参数。你应该把代码都贴出来,不然不容易找出问题。

查看完整回答
1 反对 回复 2016-06-14
  • 孤城少主
    孤城少主
    lass person{ //名字 private String name; //年龄 private int age; //无参构造 方法 public person(){} //有参构造方法 public person(String name ,int age){ this. name = name; this.age = age; } //成员方法 public String getName(){ return name; } public void setName(String name){ this.name = name; } public int getAge(){ return age; } public void setAge(int age){ this.age = age; } } //继承类 学生 class student extends person{ public student(){} public student(String name ,int age){ super (name,age); } } //继承类 老师 class teacher extends person{ public teacher (){ } public teacher(String name,int age ){ super (name,age); } } class ExtendsTest3{ public static void main(String[] args){ //方式一 student s1 = new student("李三",25); //方式二 student s = new student(); s.getName("李三"); s.getAge(25); System.out.println(s.getName()+"---"+s.getAge()); System.out.println(s1.getName()+"---"+s1.getAge()); System.out.println("---------"); teacher t = new teacher("王五",35); System.out.println(t.getName()+"---"+t.getAge()); } }
  • 冰山点水
    冰山点水
    s.getName("李三"); s.getAge(25); 这里面有问题 你都没set怎么就直接get呢 先set初始化对象再get。 第一种可以通过的原因是students类有一个带参的构造方法,当创建students类的对象时,调用students类带参构造方法,而students带参构造方法又调用了父类personr的带参构造方法直接初始化对象。还有一点:所有类名首字母大写!
  • 孤城少主
    孤城少主
    谢谢了 !!
  • 1 回答
  • 0 关注
  • 1318 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信