来源:https://blog.csdn.net/wendizhou/article/details/73733061
编译时多态:主要是方法的重载,通过参数列表的不同来区分不同的方法。
运行时多态:也叫作动态绑定,一般是指在执行期间(非编译期间)判断引用对象的实际类型,根据实际类型判断并调用相应的属性和方法。主要用于继承父类和实现接口时,父类引用指向子类对象。
例如:
public class PolymorphismTest { public static void main(String[] args) { //运行时多态 SuperClass clazz = new SubClass(); clazz.method(); } } class SuperClass { public SuperClass() { System.out.println("父类的构造方法"); } public void method() { System.out.println("父类的method()"); } } class SubClass extends SuperClass { public SubClass() { System.out.println("子类的构造方法"); } @Override public void method() { System.out.println("子类的method()"); } }