2017-09-27 69 views
-4

我是新来的java,目前正在接受培训,但仍然不能应付一些话题,特别是继承。重写与同名的java方法

我目前正在研究一个简单的程序来尝试,是否有可能重写一个具有相同名称但继承类内部不同变量的抽象方法?

+2

欢迎来到Stack Overflow。请发布[mcve]告诉我们你做了什么,以及你正在尝试做什么。否则,您的问题将被降低,并/或关闭,您将收到无用的有用答案,如“不,这是不可能的”。 – AJNeufeld

+0

你的意思是参数或局部变量?以什么方式不同? – shmosel

+0

局部变量,因为这是一种抽象方法。第一种重写方法仅显示一行语句,第二种将标记并显示来自另一个类的属性值。 – kim

回答

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关于重写和重载抽象方法。看到那里的第三个答案。