Я взял это из онлайн-обсуждения MIT (предупреждение в формате pdf):
public class Human {
private String name;
...
public Human(String name) {
this.name = name;
}
public String getName() {
return String;
}
}
public class Student extends Human {
private String username;
public Student(String name, String username) {
super(name);
this.username = username;
}
public String getName() {
return username;
}
public String getRealName() {
return super.getName();
}
}
...
public class World {
...
void someMethod() {
Student alice = new Student("Alice", "abc");
System.out.println(alice.getRealName()); // what gets printed?
Почему getRealName возвращает что-либо. Я знаю, что это возвращает Алису, потому что конструктор вызывается super (name), но мой вопрос о:
return String;
Почему getName в классе Human не должно быть
return name;