目录
一、题目要求
定义一个抽象类动物类,同时定义抽象接口:进食接口、睡觉接口、思考接口、说话接口、行走接口、游泳接口、飞翔的接口。分别定义猫类、人类、鸟类、鱼类继承动物类,同时,根据实际情况,选择性实现上述接口,并创建实例验证。
二、解题思路
首先定义了一个抽象类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();
}
}
四、运行截图