在Java中设计Cat类。使用关键字extends 继承Animal类在子类里面通过 super 关键字去调用父类的成员变量和成员方法,在子类的构造方法中使用super 关键字调用父类的构造方法,在测试类里进行验证。
时间: 2024-11-23 13:39:10 浏览: 28
在Java中,我们可以设计一个名为`Cat`的类,它继承自`Animal`类,以展示继承、构造函数的调用以及多态性。首先,我们需要创建一个基础的`Animal`类:
```java
public class Animal {
private String name;
// 构造方法
public Animal(String name) {
this.name = name;
}
// 父类的成员方法
public void eat() {
System.out.println(name + " is eating.");
}
// 访问器方法
public String getName() {
return name;
}
}
```
接着,我们定义`Cat`类,它继承自`Animal`并重写了`eat()`方法:
```java
public class Cat extends Animal {
private String furColor;
// 子类构造方法,通过super调用父类构造
public Cat(String name, String furColor) {
super(name); // 调用父类的构造函数
this.furColor = furColor;
}
// 重写父类的eat方法,体现多态性
@Override
public void eat() {
System.out.println(furColor + " cat named " + super.getName() + " is eating.");
}
// 子类特有的访问器方法
public String getFurColor() {
return furColor;
}
}
```
最后,我们在`Test`类中创建实例并进行验证:
```java
public class Test {
public static void main(String[] args) {
// 创建Cat对象并通过父类引用
Animal myCat = new Cat("Whiskers", "Black");
// 调用父类方法
myCat.eat(); // 输出: Black cat named Whiskers is eating.
// 访问子类特有属性
System.out.println("Fur color: " + myCat.getFurColor()); // 输出: Fur color: Black
// 验证多态性
((Cat)myCat).eat(); // 再次调用,由于子类重写,输出: Black cat named Whiskers is eating.
}
}
```
阅读全文