本帖最后由 在乎.. 于 2013-7-22 14:40 编辑
abstract class Animal
{
abstract void eat();
}
class Cat extends Animal
{
public void eat()
{
System.out.println("吃鱼");
}
public void catchMouse()
{
System.out.println("抓老鼠");
}
}
....
System.out.println(i);
Animal a1=new Cat();
function(a1); //为什么只有吃鱼,不是应该调用第二个方法的吗?即是应该还有个抓老鼠的;
}
public static void function(Animal a)
{
a.eat();
// a.catchMouse(); //编译不通过
}
public static void function(Cat a)
{
a.eat();
a.catchMouse();
}
}
|