sayhitoloverOvO 2021-08-04 19:13 采纳率: 100%
浏览 24
已结题

是这样的,子类必须明确重新加载该方法,才能使方法中使用的参数为子类当前所使用的参数,这个可以在创建父类的时候就能确定好么?

是这样的,子类必须明确重新加载该方法,才能使方法中使用的参数为子类当前所使用的参数,这个可以在创建父类的时候就能确定好么?
img


```java
public class test{
        public static void main(String[] args) {
            Animal a = new Animal();
            Cat c = new Cat();
            MiaoMiao m = new MiaoMiao();
            a.eat();
            c.eat();
            m.eat();
        }
    }
    class Animal{
        public void eat(){
            int a=7;
            System.out.println("小动物吃啥都行~"+a);
        }
    }
    class Cat extends Animal{
            int a=10;
        public void eat(){
            System.out.println("小动物吃啥都行~"+a);
        }
    }
    class DingDang extends Cat{
        public void studyJava(){
            System.out.println(a);
        }
    }
    //3.2创建孙子类MiaoMiao,并与Cat建立继承关系
    class MiaoMiao extends Cat{
    int a=22;
    }

```

  • 写回答

1条回答 默认 最新

  • CSU_THU_SUT 2021-08-04 19:23
    关注

    miaomiao类并没有重写eat方法,因此miaomiao类的对象调用eat方法时只能调用父类cat的eat方法。
    而miaomiao类的属性a是没有办法被父类获得的,因为继承是子类继承父类,获得父类的方法和属性。
    若子类的属性能被父类获取到,那么同名的两个变量a该取哪个值呢?
    所以就是这样的,必须重写方法,不然就是用父类的方法。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月12日
  • 已采纳回答 8月4日
  • 创建了问题 8月4日