Java实验—— 定义一个抽象类动物类,同时定义抽象接口:进食接口、睡觉接口、思考接口、说话接口、行走接口、游泳接口、飞翔的接口。分别定义猫类、人类、鸟类、鱼类继承动物类

本文介绍了如何定义抽象类Animal和多个接口,如进食、睡觉等,然后通过实例化Cat和Human类展示如何实现这些接口。通过代码演示了如何在Java中为猫和人类定制特定的行为模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、题目要求

二、解题思路

三、具体代码

四、运行截图


一、题目要求

        定义一个抽象类动物类,同时定义抽象接口:进食接口、睡觉接口、思考接口、说话接口、行走接口、游泳接口、飞翔的接口。分别定义猫类、人类、鸟类、鱼类继承动物类,同时,根据实际情况,选择性实现上述接口,并创建实例验证。

二、解题思路

        首先定义了一个抽象类Animal,其中有两个成员变量name和age,还有一个方法behavior,接下来又定义了接口Eat,Sleep,Speak用于描述Animal的行为,本题中我定义了两个类,一个是Cat类,一个是Human类来继承Animal类,并继承其中的方法并实现接口。

三、具体代码

public interface Eat {//吃饭接口
    void eat();
}
public interface Sleep {//睡觉接口
    void sleep();
}
public interface Speak {//说话接口
    void speak();
}
abstract class Animal {
    public String name;
    public int age;
    public void behavior(){
        System.out.println("不同的动物有不同的特征~");
    }
}

class Cat extends Animal implements Eat,Sleep,Speak{
    public Cat(String name,int age) {
        super.name=name;
        super.age=age;
    }

    public void behavior(){
        super.behavior();
        System.out.println("比如说小猫~");
    }

    @Override
    public void eat() {
        System.out.println("猫猫喜欢吃鱼~");
    }

    @Override
    public void sleep() {
        System.out.println("猫猫喜欢白天睡觉~");
    }

    @Override
    public void speak() {
        System.out.println("猫猫说话是这样的:喵~");
    }
}

class Human extends Animal implements Eat,Sleep,Speak{
    public Human(String name,int age) {
        super.name=name;
        super.age=age;
    }

    @Override
    public void behavior() {
        super.behavior();
        System.out.println("比如说我自己~");
    }

    @Override
    public void eat() {
        System.out.println("我最喜欢吃肉~");
    }

    @Override
    public void sleep() {
        System.out.println("我喜欢从晚上睡到白天~");
    }

    @Override
    public void speak() {
        System.out.println("我会说中国话~");
    }
}
public class AnimalTest {
    public static void main(String[] args) {
        Cat c=new Cat("咪崽",2);
        c.behavior();
        System.out.println("姓名是:"+c.name+",年龄是:"+c.age+"岁");
        c.eat();
        c.sleep();
        c.speak();

        Human h=new Human("xin崽",19);
        h.behavior();
        System.out.println("姓名是:"+h.name+",年龄是:"+h.age+"岁");
        h.eat();
        h.sleep();
        h.speak();
    }
}

四、运行截图

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值