public class test
{
public static void main(String[] args)
{
new Person().printPerson();
new Student().printPerson();
}
}
class Student extends Person
{
public String getInfo()
{
return "Student";
}
}
class Person
{
private String getInfo()
{
return "Person";
}
public void printPerson()
{
System.out.println(getInfo());
}
}
これに対する出力は次のとおりです。
Person
Person
2 行目が Student ではないのはなぜですか? 親getInfo()
は非公開ですが、それは の 2 番目の呼び出しがprintPerson()
子getInfo()
(公開されている) を見つけられないことを意味しますか? getInfo()
子メソッドはprivateを継承できないのでオーバーライドは起こらないと思います。