介绍

多态就是一种事物的多种形态。

存在的条件

  • 继承
  • 重写
  • 向上转型(父类引用指向子类对象)

实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
class Animal{
public Animal(String kinds) {//构造方法

System.out.println("创建一个" + kinds);
}
void move() { //父类的方法

}
}

class Fish extends Animal{
public Fish(String kinds) {//子类的构造方法
super(kinds);

}

public void move() { //改写父类的方法
System.out.println("swim");
}
}
class Dog extends Animal{
public Dog(String kinds) {
super(kinds);

}

void move() {
System.out.println("run");
}
}
public class Demo {
public static void main (String[] args) {
Animal xx = new Animal("动物");
Animal jack = new Fish("fish");//这个动物变成了鱼(多态)
jack.move();
jack = new Dog("狗"); //鱼变成了狗(多态)
jack.move();
}
}