JAVA 子类调用父类方法时,方法中的变量用谁的?

public class T1 {
    private int a=6;
 
    public void ha(){
        System.out.println(this.a);
    }
}
public class T2 extends T1{
        int a=7;
}
public class Test {
    public static void main(String[] args) {
        new T2().ha();
    }
}

输出结果为6

结论:子类调用父类方法时,方法中的变量用父类的

这个结果是很有意思的,我之前以为既然是子类调用父类的方法 那么应该是子类自动继承了父类 然后在自己类的内部使用自己的变量

没想到会使用父类内定义的变量值