2016-11-17 87 views
-2

在父類中,我們有一個抽象方法父類的方法:如何實現從子類方法

public abstract void parentMethod();

,並在兒童類的方法的定義是這樣的:

public void parentMethod() 
{ 
    System.out.println("this is child class 1") 
} 

public void parentMethod() 
{ 
System.out.println("this is child class 2") 
} 

如何完成父類的實現?

+0

訪問該方法在孩子難道我正確認識你,你要調用父類的方法,孩子? – CrimsonSage

+0

是@CrimsonSage – Rosifr

+0

你的問題還不太清楚。假設你有'Parent p = new Child1(); p.parentMethod();',這將調用Child1的方法,從而打印出「這是子類1」。這就是多態的原則。請發佈所有相關代碼,並準確解釋您想實現的目標。 –

回答

0

您不能從父類調用子方法。考慮顛倒層次結構(改爲將父類作爲子類),或者使方法成爲處理類對象的外部處理程序的一部分。你能提供一個示例代碼,然後我可以給你進一步的建議嗎?

編輯:

在這裏,我假設你的意思是你要調用使用父容器的子方法。這樣做看起來像你有一個父對象,但它會調用子方法。

abstract class Parent 
{ 
    abstract public void parentMethod(); 
} 

class ChildClass extends Parent 
{ 
    @Override 
    public void parentMethod() 
    { 
     System.out.println("Child method"); 
    } 
} 

然後你只是Parent child = new ChildClass();child.parentMethod();如果我理解正確。

+0

我的錯誤,請參閱我的編輯。 – Rosifr

+0

'子級別中的父級子元素= new ChildClass();''和child.parentMethod();'' – Rosifr

+0

@Rosifr您可以調用child.parentMethod()來執行代碼或類的方法。最有可能的是靜態無效的Main方法或任何地方,但在類外 – CrimsonSage

0

如果你想爲你的ood關閉的孩子的方法使用不同的impl。

您的父類應該是一個接口,用於定義要在子節點上實現的方法。

您應該然後通過這個

相關問題