(方法的覆盖)编写一个Java程序,在程序中定义一个水果类Fruit,再定义Fruit类的两个子类Apple类和Banana类,在子类中重写父类的 disp() 方法,设计一个程序,验证方法的覆盖效果;
时间: 2024-03-10 09:43:33 浏览: 22
好的,以下是Java程序代码:
```java
class Fruit {
public void disp() {
System.out.println("这是一个水果");
}
}
class Apple extends Fruit {
@Override
public void disp() {
System.out.println("这是一个苹果");
}
}
class Banana extends Fruit {
@Override
public void disp() {
System.out.println("这是一个香蕉");
}
}
public class TestOverride {
public static void main(String[] args) {
Fruit f1 = new Fruit();
Fruit f2 = new Apple();
Fruit f3 = new Banana();
f1.disp(); // 输出:这是一个水果
f2.disp(); // 输出:这是一个苹果
f3.disp(); // 输出:这是一个香蕉
}
}
```
在这个程序中,定义了一个Fruit类和它的两个子类Apple和Banana。在子类中,重写了Fruit类的disp()方法,实现了方法的覆盖。在主函数中,创建了一个Fruit对象f1,一个Apple对象f2和一个Banana对象f3,分别调用它们的disp()方法,输出不同的结果,验证了方法的覆盖效果。