我发现这个answer的时候是想确切地理解答案中展示的问题。但是,我不明白给出的简短解释。
这是代码
<a href=# onclick="function();" ></a>
据我所知, Java找到了在运行时调用的正确方法,但是在此特定代码中,如果我们按照上述假设进行操作,则预期输出将有所不同来自实际的。
预期输出:
public class GamePlayer {
public void doSomething(Worker worker) {
System.out.println("I'm a worker");
}
public void doSomething(Teacher teacher) {
System.out.println("I'm a Teacher");
}
public void doSomething(Principal principal) {
System.out.println("I'm a Principal");
}
public static void main(String[] args) {
GamePlayer example = new GamePlayer();
Worker principal = new Principal();
Worker teacher = new Teacher();
example.doSomething(principal);
example.doSomething(teacher);
}
}
实际输出:
I'm a Principal
I'm a Teacher
这里的Java程序如何精确地达到实际输出?方法绑定不是在运行时发生的吗?