定义动物类Animal包含 属性品种 ,名字, 颜色,eat() 函数内容为空。Cat、Dog继承于Animal。 猫包含新属性眼睛颜色,重写eat() 方法输出 那个品种 名字猫再吃鱼 狗包含swim()方法,重写eat() 方法 输出 品种 名字 狗狗肯肉骨头java
时间: 2024-10-15 19:09:23 浏览: 55
在Java中,我们可以首先定义一个基础类`Animal`,包含通用的属性和方法。然后,让`Cat`和`Dog`这两个类分别作为`Animal`的子类,增加各自的特性和对父类方法的重写。以下是具体的代码示例:
```java
// 动物基类 Animal
public abstract class Animal {
protected String species; // 品种
protected String name; // 名字
protected String color; // 颜色
// 吃的行为,这里是空方法
public abstract void eat();
public void displayInfo() {
System.out.println("Species: " + species);
System.out.println("Name: " + name);
System.out.println("Color: " + color);
}
}
// 猫类 Cat,继承自 Animal 并增加新属性和重写 eat() 方法
public class Cat extends Animal {
private String eyeColor; // 眼睛颜色
public Cat(String species, String name, String color, String eyeColor) {
super(species, name, color);
this.eyeColor = eyeColor;
}
@Override
public void eat() {
System.out.println(name + " the cat is eating fish. Eye color: " + eyeColor);
}
public void swim() {
System.out.println(name + " can't swim but they are a curious cat!");
}
}
// 狗类 Dog,同样继承自 Animal 并增加新属性和重写 eat() 方法
public class Dog extends Animal {
public Dog(String species, String name, String color) {
super(species, name, color);
}
@Override
public void eat() {
System.out.println(name + " the dog is eating bones. ");
}
public void swim() {
System.out.println(name + " loves to swim in the water.");
}
}
```
这样,当你创建`Cat`或`Dog`实例并调用`eat()`方法时,会显示特定品种、名字以及各自特有的行为描述。
阅读全文