覆盖和隐藏方法

时间:2014-09-30 17:35:08

标签: java override

我正在使用Oracle Page中的教程学习Java。

谢谢,

public class Animal {
    public static void testClassMethod() {
        System.out.println("The static method in Animal");
        }
        public void testInstanceMethod() {
        System.out.println("The instance method in Animal");
        }
    }

    public class Cat extends Animal {
    public static void testClassMethod() {
        System.out.println("The static method in Cat");
    }
    public void testInstanceMethod() {
        System.out.println("The instance method in Cat");
    }

    public static void main(String[] args) {
        Cat myCat = new Cat();
        Animal myAnimal = myCat;
        Animal.testClassMethod();
        myAnimal.testInstanceMethod();
    }
}

任何人都可以解释一下这句话是什么意思:

Animal myAnimal = myCat;

谢谢,

1 个答案:

答案 0 :(得分:0)

Cat延伸Animal,对吗?因此,每Cat个IS-A Animal。这意味着,Cat的每个实例也是Animal的实例。因此,您可以将myCat分配给变种myAnimal,其类型为Animal