利用多态实现编程。(使用方法重写和上转型对象,这个上转型对象就可以调用子类重写的方法。)
时间: 2023-05-29 20:01:27 浏览: 115
多态是指同一个方法在不同对象上有不同的实现。在Java中可以通过方法重写和上转型对象实现多态。
方法重写是指在子类中重新定义父类中已经存在的方法,使得在执行子类对象的该方法时,调用的是子类中的方法而不是父类中的方法。实现方法重写需要满足以下条件:
1. 方法名、参数列表和返回类型必须与父类中被重写的方法相同。
2. 子类方法的访问权限不能低于父类方法的访问权限。
3. 子类方法不能抛出比父类方法更宽泛的异常类型。
上转型对象是指将子类对象转换为父类类型的对象,即将一个子类实例赋值给一个父类引用变量。由于子类继承了父类的所有方法和属性,因此使用父类类型的引用变量来引用子类对象,可以调用子类重写的方法。
下面是一个例子:
```java
public class Animal {
public void move() {
System.out.println("Animal can move");
}
}
public class Dog extends Animal {
@Override
public void move() {
System.out.println("Dog can run and walk");
}
public void bark() {
System.out.println("Dog can bark");
}
}
public class Test {
public static void main(String[] args) {
Animal animal = new Dog(); // 上转型对象
animal.move(); // 调用子类重写的方法
// animal.bark(); // 编译错误,父类类型的引用变量不能调用子类特有的方法
}
}
```
运行结果为:
```
Dog can run and walk
```
阅读全文