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

在Java中调用继承的方法

在Java中调用继承的方法

小怪兽爱吃肉 2021-04-09 18:19:57
我有以下Java代码,class Animal {    private String name="Animal";    public String getName() {        return name;    }}class Cat extends Animal {    private String name = "Cat";}public class Test {    public static void main(String[] args) {        Cat cat = new Cat();        System.out.println(cat.getName());    }}运行该代码后,我得到了输出Animal,但我认为应该是Cat。getName在Cat像这样重写方法之后,我得到了Cat。@Overridepublic String getName() {    return name;}那是因为调用一个继承下来(不是凌驾于)方法的一个子类的实例,就像 cat.getName() 等于调用super.getName()(所以我得到Animal的,而不是Cat在第一种情况)?还是因为实例变量隐藏的奇怪行为(我不太确定)?
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 176 浏览

添加回答

举报

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