覆盖具有相同名称的java方法

时间:2017-09-27 00:36:35

标签: java inheritance methods polymorphism override

我是java的新手,目前正在接受培训,但仍然无法应对某些主题,特别是继承。

我目前正在研究一个简单的程序,是否可以覆盖继承类中具有相同名称但不同变量的抽象方法?

1 个答案:

答案 0 :(得分:0)

当你说“内部的不同变量”时,我冒昧地假设你可能意味着方法参数,从而重载了一个继承的方法。

public abstract class Parent {
    abstract void aMethod(int a);
}

public class Child extends Parent {
    void aMethod(int a){
        // Some code here, this is the normal thing to do when overriding
    }

    void aMethod(String b){
        // Some code here, this is okay too, but doesn't work with polymorphism
    }
}

永远不能在Parent类的实例上调用第二个方法,并且只能由Child类的实例调用。

PS:我现在还没有关闭我的Java IDE,所以我无法检查它是否编译,但我在发布之前进行了研究。 Here's another question关于覆盖和重载抽象方法。见那里的第三个答案。