多重继承中,孙子类可以继承爷爷类的属性和方法吗?

可以。
·Java支持单根继承,一个子类只能由一个直接父类;可以有多个间接父类(除直接父类外的父类都叫间接父类,比如爷爷类),它们都叫做子类的父类。只要是父类的非私有属性和方法,非构造方法,都可以被子类继承。
·孙子类可以直接继承爷爷类的除private外的属性和方法;
·孙子类可以直接使用super调用爷爷类的属性和方法;
看如下代码:
爷爷类:Animal

package com.Animal;

public class Animal {
    private String color;
    private String feetNum;

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }

    public String getFeetNum() {
        return feetNum;
    }

    public void setFeetNum(String feetNum) {
        this.feetNum = feetNum;
    }

    public Animal() {
        System.out.println("执行Animal的无参构造");
    }
    public void eat(){
        System.out.println("动物都可以吃饭");
    }
    public void show(){
        System.out.println("有些动物的毛色是"+color+",有"+feetNum+"只脚。");
    }
}

父类:Pet

package com.Animal;

public class Pet extends Animal {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Pet(String name) {
        this.name = name;
    }

    public Pet() {
        System.out.println("执行Pet的无参构造");
    }
}

子类:Dog类

package com.Animal;

public class Dog extends Pet {
    private String bark;

    public String getBark() {
        return bark;
    }

    public void setBark(String bark) {
        this.bark = bark;
    }

    public Dog() {
        System.out.println("执行Dog的无参构造函数");
    }
}

测试类:

package com.Animal;

public class Test {
    public static void main(String[] args) {
        Dog dog = new Dog();
        dog.eat();
        dog.setColor("黄色");
        dog.setFeetNum("4");
        dog.show();
    }
}

输出结果:
在这里插入图片描述
理解:
狗是宠物的一种,宠物是动物的一种,狗当然也属于动物。动物拥有的属性和特征狗肯定拥有。所以动物类的公有属性方法可以被狗类继承。

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值