多态

一个对象变量可以指示多种实际类型的现象称为多态,在运行时能够自动地选择适当的方法 ,称为动态绑定。

// Base.java
public class Base {
    public void print(ParamBase param){
        System.out.println("I am Base, the param is ParamBase");
    }

    public void print(ParamSub param) {
        System.out.println("I am Base, the param is ParamSub");
    }
}

// Sub.java 继承Base
public class Sub extends Base {
    @Override
    public void print(ParamBase param) {
        System.out.println("I am Sub, the param is ParamBase");
    }

    @Override
    public void print(ParamSub param) {
        System.out.println("I am Sub, the param is ParamSub");

    }
}
// ParamBase.java
public class ParamBase {
}

// ParamSub 继承ParamBase
public class ParamSub extends ParamBase{
}

// Main.java
public class Main {
    public static void main(String[] args) {
        Base object = new Sub();
        ParamBase param = new ParamSub();
        object.print(param);
    }
}
// 打印结果:
// I am Sub, the param is ParamBase

实例方法默认是多态的,方法的参数是静态绑定的,方法是动态绑定的。

Last updated

Was this helpful?