2016-11-17 90 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。

您的父类应该是一个接口,用于定义要在子节点上实现的方法。

您应该然后通过这个

相关问题