繁体   English   中英

我可以使用父对象调用子类方法吗?

[英]Can i call child class method using parent object?

我创建了基类动物和儿童类作为猫。 在主要方面,我想创建PARENT类的obj并调用子类的方法。 那么,有可能吗? 我也用过instanceOf来检查关系

public class Animal
{
public void eats()
{
    System.out.println("Animal Eats");
}
}



public class Cat extends Animal
{
    public void walks()
    {
        System.out.println("Cat Walks");
    }

}



public class AnimalMain 
{
public static void main(String args[])
{
Animal a=new Animal();
display(a);
}   
public static void display(Animal a)
{
    a.eats();
    if(a instanceof Cat)
    ((Cat)a).walks();  
}
}

您的代码应该可以正常工作。 if条件将导致false,因此您的动物将不会walk()。

Animal animal = new Animal();

该动物将具有动物的所有行为,即eat(),但不具有子类Cat的行为,即walk()。

如果希望您的动物具有Animal的所有行为以及Cat的所有行为,则需要实例化Cat类。

Animal animal = new Cat();

现在,您的动物将进食和行走。

是的,它会的。 您正在更改类型,因此它将起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM