0

我想知道是否有办法做到以下几点。我环顾四周,但找不到任何东西。

假设我们有一个抽象类Animal,还有两个其他类pet以及freewhere petextendsAnimalfreeextends 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() 不是抽象方法我怎么称呼它们

4

0 回答 0