Java全面分析面向对象之多态
什么是多态
多态是面向对象语言中非常重要的一种处理方式。它允许在程序执行时根据实际对象类型选择要调用的方法。多态的实现基于继承、接口和重写。
多态的实现
多态的实现有两种方式:
1.继承
通过继承父类,在子类中重写父类的方法,达到不同类调用同一方法返回不同结果的效果。示例如下:
class Animal {
void move() {
System.out.println("动物可以移动");
}
}
class Dog extends Animal {
@Override
void move() {
System.out.println("狗可以跑和走");
}
}
class Bird extends Animal {
@Override
void move() {
System.out.println("鸟可以飞和走");
}
}
public class Test {
public static void main(String[] args) {
Animal animal = new Animal();
animal.move();
animal = new Dog(); // Dog 对象
animal.move(); //执行 Dog 的 move 方法
animal = new Bird(); // Bird 对象
animal.move(); //执行 Bird 的 move 方法
}
}
2.接口
Java中接口定义了一个接口,实现了这个接口的类可以不同类调用同一方法返回不同结果。例如:
interface Animal {
void move();
}
class Dog implements Animal {
@Override
public void move() {
System.out.println("狗可以跑和走");
}
}
class Bird implements Animal {
@Override
public void move() {
System.out.println("鸟可以飞和走");
}
}
public class Test {
public static void main(String[] args) {
Animal animal;
animal = new Dog();
animal.move();
animal = new Bird();
animal.move();
}
}
总结
多态允许在程序执行时根据实际对象类型选择要调用的方法,通过继承和接口的实现方式均能够体现多态的效果。多态的实用性在某些场景下极高,值得深入了解。
示例说明
示例一:动物类
以一种静态语言 Java 实现动物的例子为例,实现一个 Animal 类,并在其子类 Dog、Bird 中分别重写 move 方法,实现多态的实用。
示例二:接口
定义一个接口 Animal,在其实现类 Dog、Bird 中实现接口,并重写接口中的 move 方法,用同一个方法实现不同的效果,实现多态的实用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java全面分析面向对象之多态 - Python技术站