我从在线麻省理工学院的课件讨论中得到了这个(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?
Run Code Online (Sandbox Code Playgroud)
为什么getRealName会返回任何内容.我知道它返回Alice,因为构造函数是由super(name)调用的,但我的问题是:
return String;
Run Code Online (Sandbox Code Playgroud)
为什么不必在Human类中使用getName
return name;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
338 次 |
| 最近记录: |