用Java建立Animal类,包括名字、年龄、种类等属性,设计printEat和printMonth函数输出吃了何种食物和目前年龄。通过类的继承实现dog类和cat类,使用构造函数进行属性的初始化,
时间: 2024-12-29 11:28:56 浏览: 6
在Java中,你可以创建一个名为`Animal`的基础类,然后定义两个派生类`Dog`和`Cat`。以下是详细的代码示例:
```java
// Animal类,包含通用的属性和方法
public class Animal {
private String name;
private int age;
private String species;
// 构造函数,用于初始化属性
public Animal(String name, int age, String species) {
this.name = name;
this.age = age;
this.species = species;
}
// 定义通用的方法
public void printEat() {
System.out.println("这个动物正在吃...");
}
public void printAge() {
System.out.println("当前年龄是:" + age);
}
// 重写printEat方法,提供更具体的实现
protected void printEatSpecific() {
printEat();
// 这里可以根据物种的不同实现具体的食物输出,例如 Dog 和 Cat 的食物不同
}
}
// Dog 类继承自 Animal,并覆盖 printEat 方法
public class Dog extends Animal {
public Dog(String name, int age) {
super(name, age, "狗");
}
@Override
protected void printEatSpecific() {
printEat();
System.out.println("食物是:狗粮");
}
}
// Cat 类继承自 Animal,并覆盖 printEat 方法
public class Cat extends Animal {
public Cat(String name, int age) {
super(name, age, "猫");
}
@Override
protected void printEatSpecific() {
printEat();
System.out.println("食物是:猫粮");
}
}
```
现在,你可以实例化Dog或Cat对象并调用它们的printEat和printAge方法:
```java
Dog dog = new Dog("旺财", 5);
dog.printEat(); // 输出 "这个动物正在吃..."
dog.printAge(); // 输出 "当前年龄是:5"
Cat cat = new Cat("小花", 3);
cat.printEat(); // 输出 "这个动物正在吃..."
cat.printAge(); // 输出 "当前年龄是:3"
```
阅读全文