用java声明一个抽象类Animal,具有吃eat和说speak两种抽象行为,具体类狗Dog和猫Cat都继承了Animal类,请编写程序声明这三个类和测试类,要求测试类中使用上转型对象来访问Dog和Cat的方法。
时间: 2024-03-06 19:49:25 浏览: 62
实验 8抽象类和接口的应用.zip
声明Animal抽象类:
```java
public abstract class Animal {
public abstract void eat();
public abstract void speak();
}
```
声明Dog类:
```java
public class Dog extends Animal {
public void eat() {
System.out.println("狗狗正在吃东西!");
}
public void speak() {
System.out.println("汪汪汪!");
}
}
```
声明Cat类:
```java
public class Cat extends Animal {
public void eat() {
System.out.println("猫咪正在吃东西!");
}
public void speak() {
System.out.println("喵喵喵!");
}
}
```
测试类中使用上转型对象访问Dog和Cat的方法:
```java
public class Test {
public static void main(String[] args) {
Animal animal1 = new Dog();
animal1.eat();
animal1.speak();
Animal animal2 = new Cat();
animal2.eat();
animal2.speak();
}
}
```
输出结果:
```
狗狗正在吃东西!
汪汪汪!
猫咪正在吃东西!
喵喵喵!
```
阅读全文