2011-11-17 94 views

回答

2

系統公開了各種各樣的東西,它可能適合開發人員使用System for。

我會擔心一個程序員直接與運行時間玩。爲了系統調用這些方法,他們需要被暴露。

系統爲運行時提供一個接口,以便訪問適合程序員調用的運行時方法。調用System方法並讓它們適當地進行委託。

+0

我不明白你想表達什麼。如果Java不希望開發人員直接使用Runtime,那麼它應該使其成爲私有的而不是公共的。實際上,我們可以自由地調用Runtime的方法。 – Chao

+0

@Richard Runtime類以不可移植的方式公開底層的JVM和OS環境。 System類公開了JVM和OS的一致可移植視圖。 Runtime不能是私有的,因爲包括System在內的許多類都需要調用它。也有限制直接調用方法的情況可能適用。 – BillThor

+0

你的意思是我們應該總是喜歡使用System類,如果可能的話?快捷方式在某個地方可能是個好主意,但是像這樣的API設計真的讓人困惑。 – Chao

0

如果您在方法System#load(String)上尋找示例,您會看到它稱爲方法Runtime#load(String)gc()一樣。所以這可能是由於歷史原因。

+0

我不同意歷史的觀點。如果您看一下Java 1.0 API,您會發現,這些方法一直存在於System和Runtime中。 – Jonathan

4

我的猜測(記住,它的猜測)是爲了方便,System類中的方法。例如,System.gc();是靜態的,其中Runtime.gc();是一種實例方法。這使得調用更容易,因爲您不需要獲得Runtime實例。

相關問題