//定义一个Animal类,Cat类继承Animal。
public class Animal {
String str;
public void voice(){
System.out.println("普通动物的叫声!");
}
}
class Cat extends Animal{
public void voice(){
System.out.println("喵喵喵");
}
public void catchMouse(){
System.out.println("抓老鼠");
}
}public class Test {
public static void testAnimalVoice(Animal a){
a.voice();
}
public static void main(String[] args){
Animal a = new Cat();
testAnimalVoice(a);
}
}Animal a = new Cat();
相当于Cat c = new Cat();
Animal a = c;
按我的理解:加载Cat类,建立局部变量c用于存放地址,然后新建了一个以Cat为模版的对象,把这个对象的地址赋给c;
加载Animal类,建局部变量a,把c的值赋给a。
我的问题:把c的值赋给a的过程中为何需要继承,假如Cat类没有继承Animal类,Animal a = c照样是局部变量的值传递啊,为何赋不了值???!!!