私有方法的继承

时间:2016-11-19 10:43:57

标签: java inheritance

为什么这个程序的输出是:

person
person

我知道继承意味着子类采用了超类的属性,这里是代码:

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());
    }
}

我知道getinfo()方法不会被继承而不会被覆盖,因为它是private。但是,Student类中有另一种方法具有相同的名称并返回Student

我想知道为什么会这样? JVM如何正确地使用继承?

0 个答案:

没有答案