簡體   English   中英

Java - 為什么System和Runtime類具有相同的方法?

[英]Java - why System and Runtime classes have identical methods?

我最近想知道為什么java.lang.Runtimejava.lang.System都有相同的庫加載,垃圾收集和類似操作的方法。 是因為歷史原因,為了方便,還是真的不同? 這兩個類都可以從JDK 1.0獲得......

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

系統公開了開發人員使用System可能適合的各種事情。

我會擔心程序員直接玩Runtime。 要使System調用方法,需要公開它們。

System為Runtime提供了一個接口,以便能夠訪問適合程序員調用的Runtime方法。 調用System方法並讓它們適當地委派。

如果您查看System#load(String)方法的示例,您會看到它調用方法Runtime#load(String) 對於gc() 所以這很可能是出於歷史原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM