为什么不覆盖此方法?

Why isn't this method overridden?

为什么输出中的值是 2 和 10? myMethod 方法没有被覆盖吗? 是的,如果我将测试 class 中方法的访问修饰符从私有更改为任何其他,输出将如我所料 - 2 和 20。但我认为 的方法子 class 应该至少与父 class 的方法一样可访问 - 这是覆盖方法的唯一条件(与访问修饰符相关)。

public class Test {
    private int myMethod(int x){return x;}
    public static void main(String[] args) {
        Test aTest = new Test();
        Test aChild = new Child();
        System.out.println(aTest.myMethod(2));
        System.out.println(aChild.myMethod(10));
    }
}
class Child extends Test{
    public int myMethod(int x){return 2*x;}
}

因为 Test 中的 myMethod 是私有的,Child class 看不到它。