来源: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()");
} }