2017-09-27 132 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關於重寫和重載抽象方法。看到那裏的第三個答案。