1. Animal类的定义如下:
public abstract class Animal {
    private String name;
    private String color;
    private String type;
    
    public Animal(String name, String color, String type) {
        this.name = name;
        this.color = color;
        this.type = type;
    }
    
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    public String getColor() {
        return color;
    }
    
    public void setColor(String color) {
        this.color = color;
    }
    
    public String getType() {
        return type;
    }
    
    public void setType(String type) {
        this.type = type;
    }
    
    public abstract void eat();
    
    public abstract void shout();
    
    @Override
    public String toString() {
        return "Animal [name=" + name + ", color=" + color + ", type=" + type + "]";
    }
}
  1. Rabbit类的定义如下:
public class Rabbit extends Animal {
    public Rabbit(String name, String color, String type) {
        super(name, color, type);
    }
    
    @Override
    public void eat() {
        System.out.println(getName() + " is eating carrot.");
    }
    
    @Override
    public void shout() {
        System.out.println(getName() + " is shouting 'Hop hop!'");
    }
    
    @Override
    public String toString() {
        return "Rabbit [name=" + getName() + ", color=" + getColor() + ", type=" + getType() + "]";
    }
}
  1. Frog类的定义如下:
public class Frog extends Animal {
    public Frog(String name, String color, String type) {
        super(name, color, type);
    }
    
    @Override
    public void eat() {
        System.out.println(getName() + " is eating insect.");
    }
    
    @Override
    public void shout() {
        System.out.println(getName() + " is shouting 'Ribbit ribbit!'");
    }
    
    public void swim() {
        System.out.println(getName() + " is swimming in the pond.");
    }
    
    @Override
    public String toString() {
        return "Frog [name=" + getName() + ", color=" + getColor() + ", type=" + getType() + "]";
    }
}
  1. 测试代码如下:
public class AnimalTest {
    public static void main(String[] args) {
        Animal rabbit = new Rabbit("Peter", "white", "mammal");
        Animal frog = new Frog("Kermit", "green", "non-mammal");
        
        rabbit.eat();
        rabbit.shout();
        System.out.println(rabbit);
        
        frog.eat();
        frog.shout();
        frog.swim();
        System.out.println(frog);
    }
}

输出结果如下:

Peter is eating carrot.
Peter is shouting 'Hop hop!'
Rabbit [name=Peter, color=white, type=mammal]
Kermit is eating insect.
Kermit is shouting 'Ribbit ribbit!'
Kermit is swimming in the pond.
Frog [name=Kermit, color=green, type=non-mammal]
hello帮我用java解答下面这题:1、抽象Animal类的共同特征包括: 属性:名字name、颜色color、类型type哺乳类、非哺乳类; 抽象方法:吃东西eat发出叫声shout 非抽象方法:getNamesetNamegetColorsetColorgetTypesetType 2、定义Rabbit类继承Animal类类实现父类中的方法 3、定义Frog类继承Animal类类实现父类中的

原文地址: https://www.cveoy.top/t/topic/buSq 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录