在java继承中对于成员变量和方法的处理是不同的
用javap工具分析如下类:
class Animal {
private String name ;
public void info (){
System .out. println(name );
}
}
public class Wolf extends Animal {
private double weight ;
}
从编译后的class文件可以看出:
父类的属性并未加入到子类中,但是父类的方法却加入了子类中。
这说明 子类和父类可以同时拥有同名的实例变量,子类的值并未将父类的值覆盖掉,而若是有同名的方法的时候,子类的方法会把父类的方
法覆盖掉,所以:
父类 对象 = new 子类(); 的时候:
对象.属性 ----》 调用的是 父类的
对象.方法 ----》 调用的是 子类的