JVM中用于覆盖的场景背后是什么(数据成员和方法)?

时间:2015-01-31 16:24:55

标签: java oop jvm override

我确定输出之后我有这些类我无法理解为什么数据成员和方法的背景,甚至是方法区域中的类加载。提前谢谢

class Base {
    public int a = 32;

    public void signature() {
        System.out.println("Base");
    }

}

class Child extends Base {
    public int a = 25;

    public void signature() {
        System.out.println("Child");
    }
}

public class Main {
    public static void main(String[] args) {
        Base base = new Child();
        System.out.println(base.a);
        base.signature();
    }
}

输出:

32
Child

我理解在基类上调用的子方法,因为方法调用依赖于运行时对象绑定但为什么它打印32甚至基本变量都有Child对象引用。?

0 个答案:

没有答案