Java练习(综合运用继承性、多态性、接口)

在这个练习中,我们定义了一个接口`Animal`,其中包含一个方法`sound()`。

之后,我们创建了一个基类`Mammal`,实现了`Animal`接口,并提供了一个默认的`sound()`方法实现。

接着,我们定义了两个继承自`Mammal`的子类`Dog`和`Cat`,分别重写了`sound()`方法。

在`main`方法中,我们创建了一个`Mammal`类型的数组,用于存储不同的哺乳动物对象。

我们将`Mammal`、`Dog`和`Cat`的实例分别存储在数组中。

然后,我们遍历数组,调用每个对象的`sound()`方法。由于多态性的存在,当我们调用`Mammal`类型的对象的`sound()`方法时,实际执行的是该对象所属子类的`sound()`方法。

这样,我们可以实现展示不同的哺乳动物发出的声音。

// 定义一个接口Animal,包含一个方法sound()
interface Animal {
    void sound();
}

// 定义一个基类Mammal,实现Animal接口
class Mammal implements Animal {
    @Override
    public void sound() {
        System.out.println("The mammal makes a generic sound.");
    }
}

// 定义一个Dog类,继承自Mammal类
class Dog extends Mammal {
    @Override
    public void sound() {
        System.out.println("The dog barks.");
    }
}

// 定义一个Cat类,继承自Mammal类
class Cat extends Mammal {
    @Override
    public void sound() {
        System.out.println("The cat meows.");
    }
}

public class Main {
    public static void main(String[] args) {
        // 创建一个Mammal类型的数组,用于存储不同的哺乳动物对象
        Mammal[] mammals = new Mammal[3];
        mammals[0] = new Mammal();
        mammals[1] = new Dog();
        mammals[2] = new Cat();

        // 遍历数组,调用每个对象的sound()方法,展示多态性
        for (Mammal mammal : mammals) {
            mammal.sound();
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值