A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

Asdstkwq

初级黑马

  • 黑马币:

  • 帖子:

  • 精华:

public static void main(String[] args) {
                Student stu = new Student();
                stu.show();
        }
class People{
String name;
public int age = 30
public void show(){
System.out.println(age);
}

}
class Student extends People{
        public int age = 20;
}



运行结果是30,也就是父类的属性,为什么调用的不是重写的子类的属性
我试了必须子类也重写show方法,才能调用子类的属性
晕了。。。。。。

6 个回复

倒序浏览
是30  有什么问题啊
回复 使用道具 举报
子类没有函数,都重写不了,当然是输出父类啦

评分

参与人数 1黑马币 +1 收起 理由
洋葱头头 + 1 赞一个!

查看全部评分

回复 使用道具 举报
lgdbest 发表于 2016-3-26 17:23
是30  有什么问题啊

show方法不是已经被子类继承了吗,为什么方法里调用的不是子类自己的age
回复 使用道具 举报
Asdstkwq 发表于 2016-3-26 18:49
show方法不是已经被子类继承了吗,为什么方法里调用的不是子类自己的age

show没有被重写啊,里边什么方法都没有, 你怎么继承啊

评分

参与人数 1黑马币 +1 收起 理由
洋葱头头 + 1 很给力!

查看全部评分

回复 使用道具 举报
Banana_uSuOO 来自手机 中级黑马 2016-3-26 21:08:20
地板
子类没有重写show方法,自然调父类的,父类就近是30来自: iPhone客户端
回复 使用道具 举报
子类没有重写父类的方法,你上面虽然创建对象了,但是你调用的是父类的show()方法,所以当然是输出30,这有什么可晕的

评分

参与人数 1黑马币 +1 收起 理由
洋葱头头 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马