Java中的多态是指同一个方法可以根据不同的对象调用出不同的实现结果。实现多态性需要使用继承和方法重写。
具体实现方式如下:
-
父类定义一个方法,子类重写该方法,实现不同的行为。
-
父类定义一个方法,该方法的参数类型为父类,但是可以接收子类实例,实现对子类的调用。
下面是一个示例代码:
// 父类
public class Animal {
public void move() {
System.out.println("动物可以移动");
}
}
// 子类Dog
public class Dog extends Animal {
public void move() {
System.out.println("狗可以跑和走");
}
}
// 子类Cat
public class Cat extends Animal {
public void move() {
System.out.println("猫可以跳和爬");
}
}
// 测试类
public class Test {
public static void main(String[] args) {
Animal animal = new Animal(); // 创建 Animal 对象
Animal dog = new Dog(); // 创建 Dog 对象
Animal cat = new Cat(); // 创建 Cat 对象
animal.move(); // 执行 Animal 的方法
dog.move(); // 执行 Dog 的方法
cat.move(); // 执行 Cat 的方法
}
}
输出结果:
动物可以移动
狗可以跑和走
猫可以跳和爬
在上面的示例中,Animal类是父类,而Dog和Cat是Animal的子类。Animal类中有一个move()方法,而子类Dog和Cat分别重写了父类的move()方法,并实现了不同的行为。在测试类中,我们分别创建了Animal、Dog和Cat的对象,并调用它们的move()方法。因为move()方法被重写了,所以它们会根据不同的对象调用出不同的实现结果,这就是多态性的体现。