我已经创建了基类动物和儿童类作为猫。
在main中,我想创建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();
}
}
答案 0 :(得分:3)
您的代码应该可以正常运行。 if条件会导致false,所以你的动物不会走路()。
Animal animal = new Animal();
这种动物将具有Animal的所有行为,即eat(),但没有子类Cat的行为,即walk()。
如果您希望您的动物拥有动物的所有行为以及Cat的所有行为,您需要实例化Cat类。
Animal animal = new Cat();
现在你的动物会吃饭走路。
答案 1 :(得分:0)
是的,它会的。您正在更改类型,因此它将起作用。