为什么方法 "printperson()" 不调用子类的私有方法?

Why doesn't the method "printperson()" invoke the subclass's private method?

public class Test {
  public static void main(String[] args) {
     new Person().printPerson();
     new Student().printPerson();
  }
}

class Student extends Person {
  private String getInfo() {
     return "Student";
  }
}

class Person {
  private String getInfo() {
    return "Person";
  }
  public void printPerson() {
    System.out.println(getInfo());
  }
}

答案是

Person
Person

但是当我将两个私有访问说明符都更改为 public 时,结果是

Person
Student

为什么?看不懂。

私有方法在子classes 中不可见,因此不能被覆盖。所以它总是从父 class.

调用一个方法