在java继承中对于成员变量和方法的处理是不同的

在java继承中对于成员变量和方法的处理是不同的
用javap工具分析如下类:

class Animal {
    private String name ;
    public void info (){
        System .out. println(name );
    }
}

public class Wolf extends Animal {
    private double weight ;
}

技术分享

从编译后的class文件可以看出:

父类的属性并未加入到子类中,但是父类的方法却加入了子类中。

这说明 子类和父类可以同时拥有同名的实例变量,子类的值并未将父类的值覆盖掉,而若是有同名的方法的时候,子类的方法会把父类的方

法覆盖掉,所以:

父类 对象 = new 子类(); 的时候:

对象.属性 ----》 调用的是 父类的

对象.方法 ----》 调用的是 子类的




郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。