Re: [問題] 為何不是import rt.java.lang.*

看板java作者 (null)時間15年前 (2010/11/14 21:46), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/3 (看更多)
※ 引述《wfgh (lyle)》之銘言: : 我的windows的環境變數 classpath是設成 : C:\Program Files\Java\jre6\lib : 那為何程式碼打import java.lang.* : 而不是打import rt.java.lang.*呢? : Java SE API的jar檔不是叫做rt.jar嗎? : 感謝解惑 你可以用 rt.jar 不是因為你設了 CLASSPATH 為 C:\Program Files\Java\jre6\lib 在此篇教學有說到 http://download.oracle.com/javase/tutorial/ext/basics/load.html rt.jar 是屬於 Bootstrap classes 會自動被讀取。 這是得指出來,你所誤解的部分。 回到問題本身,為什麼不是 rt.java.lang.*。 這表示你並不知道,在執行的時候 classloader 是如何對待 rt.jar classloader 並不知道有 rt.jar 這個檔案 它取得的是解開後的 classes 如同一般的資料夾一樣,它只是一個搜尋路徑的起點 A/ com/ qty/ A.class B/ com/ qty/ B.class C.class Foo.jar/ com/ qty/ D.class A.class 例如:現在有二個實體路徑,一個 .jar 你的 CLASSPATH 設成 A:B:. 那就只能找到 com.qty.{A, B, C} 三個類別 再多加個 Foo.jar 那就多出了 com.qty.D 類別 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.231.52.57

11/15 15:40, , 1F
謝謝,我懂了
11/15 15:40, 1F
文章代碼(AID): #1Ct-XES7 (java)
討論串 (同標題文章)
文章代碼(AID): #1Ct-XES7 (java)