我想知道是否有办法做到以下几点。我环顾四周,但找不到任何东西。
假设我们有一个抽象类Animal
,还有两个其他类pet
以及free
where pet
extendsAnimal
和free
extends Animal
。我创建了一个table Animal[] a = new Animal[2];
并将两个类的对象放入其中,如下所示:
a[0] = new free();
a[1] = new pet();
除了我的类中的抽象方法之外,我可以说take()
自由类中的方法是这样的
class free extends Animal{
//other abstract overwritten methods
public void take(){.....}
}
我找到了哪个类 objct 的实例,然后我想从每个类中调用 unOveriten uniq 方法,所以假设我有一个采用 Animal 对象的方法,我想调用它的 unig 方法,而不是像这样抽象 overiten:
private void Add_Classic(Animal c){
if( c instanceof free)
c.take();//here is my question how can i call this non abstract method?
else{
c.take1();
}
}
take () 和 take1() 不是抽象方法我怎么称呼它们