动物是狗的超类,狗有一种叫bark的方法
public void bark() { System.out.println("woof"); }
考虑以下:
Animal a = new Dog(); if (a instanceof Dog){ a.bark(); }
会发生什么?
我说2是因为我们正在检查物体是否是狗;因为dog是其中包含bark方法的类,如果是,则将其调用,它将打印出:s
我的理解对吗?
因为Animal没有名为bark的方法。这样想吧,所有的狗都是动物,但不是所有的动物都是狗。所有的狗都会叫,但不是所有的动物都会叫。