Java继承中成员方法的overload(重载/过载)

如果Java基础类有一个方法名被“过载”使用多次,在衍生类里对那个方法名的重新定义不会隐藏任何基础类的版本。所以无论方法在这一级还是在一个基础类中定义,过载都会生效。

public class Hide {
    public static void main(String[] args) {
        Bart b = new Bart();
        b.doh(1); // doh(float) used
        b.doh('x');
        b.doh(1.0f);
        b.doh(new Milhouse());
    }
}

class Homer{
    char doh(char c){
        System.out.println("doh(char)");
        return 'd';
    }

    float doh(float f){
        System.out.println("doh(float)");
        return 1.0f;
    }
}

class Milhouse{}

class Bart extends  Homer{
    void doh(Milhouse m){
    }
}
原文地址:https://www.cnblogs.com/frankyou/p/6022148.html