【发布时间】:2013-04-25 22:11:20
【问题描述】:
我试图了解 Java 如何选择正确的方法以及它在内部是如何工作的。
假设我有两个功能:
public void print(int i) { System.out.println("int: " + i); }
和
public void print(String s) { System.out.println("String: " + s); }
Java实际上是怎样的
- 存储所有可访问的类和方法?
- 确定哪种重载方法适合使用?
我知道,当我调用方法时,它会将它们放在 JVM 堆栈中,但我试图了解在那之前发生了什么。它是如何在内部存储和加载的?
谢谢!
【问题讨论】:
-
实际上是编译器决定在这里调用哪个方法,因为重载是一个编译时特性。我不知道 Java 类的元数据的确切格式,但我相信如果你用 Bing 编辑它,你可以挖掘一些文档。
-
@dlev bing编辑它???嗯,dlev
->location->Redmond, WA。解释一切。 -
@SotiriosDelimanolis 或者你可以从他的个人资料中读到他在微软工作。
-
过于宽泛,无法在此回答。