2013-05-01 54 views
3

我想了解Java如何選擇正確的方法以及它如何在內部工作。Java - 它如何加載並找到正確的方法

說我有兩個功能:

public void print(int i) { System.out.println("int: " + i); } 

public void print(String s) { System.out.println("String: " + s); } 

如何Java的實際

  1. 存儲所有可訪問的類和方法?
  2. 確定哪個重載方法是正確的使用方法?

我知道當我調用方法時,它將它們放在JVM堆棧上,但我試圖瞭解之前發生的事情。它是如何在內部存儲和加載的?

謝謝!

+0

實際上,編譯器會決定在這裏調用哪個方法,因爲* overloads *是一個編譯時功能。我不知道Java類的元數據的確切格式,但是如果您使用了Bing,我相信您可以挖掘一些文檔。 – dlev 2013-05-01 20:46:54

+1

@dlev _bing-ed it _ ???嗯,dlev' - >'location' - >'Redmond,WA。解釋一切。 – 2013-05-01 20:52:48

+1

@SotiriosDelimanolis或者你可以從他的個人資料中看到他在微軟工作。 – thatidiotguy 2013-05-01 20:53:23

回答

相關問題