多态性是指一个接口可以对应多种不同的实现方法。体现在编译多态性和运行多态性。
编译多态性是指在编译过程中体现出的多态性。如方法重载,即方法名相同,参数类型、个数、顺序不同。
运行多态性是指由类的继承和方法重写引起的。如果子类重写了父类的方法,则调用子类的方法;如果子类没有重写父类的方法,则调用父类的方法。
class Animal { public void eat(){ System.out.println("Animal eat"); } } class Dog extends Animal { public void eat(){ System.out.println("Dog eat"); } }
public class Test { public static void main(String[] args) { Animal animal = new Animal(); animal.eat(); //Animal eat Dog dog = new Dog(); dog.eat(); //Dog eat Animal animal2 = new Dog(); animal2.eat(); //Dog eat } }