本帖最后由 包晗 于 2012-6-4 14:26 编辑
abstract class Animal
{
abstract void eat();
}
class Cat extends Animal
{
public void eat()
{
System.out.println("吃鱼");
}
public void catchMouse()
{
System.out.println("抓老鼠");
}
}
lass DuoTaiDemo2
{
public static void main(String[] args)
{
Animal a = new Cat();
a.eat();
Cat c = (Cat)a;
c.catchMouse();
}
}
Animal a = new Cat(); 我的理解是 在内存中建立名为cat的对象 只执行Animal的相同功能 其他功能不执行
这句Cat c = (Cat)a; 知道是向下转型 但这里理解的不透彻 求教这句在内存中的运行 谢谢
|