2013-03-16 49 views
-2

我很好奇,如果我能夠做到這一點:import java。*使用java時,幾乎所有我需要導入。這可能嗎?我不需要這樣做,這個問題只是在我的腦海裏,我很好奇。 謝謝!我可以這樣做:import java。*?

+2

當你嘗試它時發生了什麼? – 2013-03-16 15:59:45

+0

編譯代碼可能需要更長的時間,不是嗎? – 2013-03-16 16:00:04

+0

您仍然需要'java.util.Date'和'java.sql.Date'的完全限定名稱等等。 – jlordo 2013-03-16 16:03:04

回答

8

import something.*不是遞歸的。你只能得到指定包中的所有類,而不是子包。

http://docs.oracle.com/javase/tutorial/java/package/usepkgs.html

既然有在java根包沒有課,import java.*;不會做任何事情。

+0

沒有「子包裝」這樣的概念。不同的包完全沒有關係。 – 2013-03-16 16:14:37

+0

嚴格說來你是對的,然而'sub-package'是一個即使是Sun/Oracle使用的常用術語。 – Zutty 2013-03-16 16:20:35

+0

一個常有誤導的術語...;) – 2013-03-16 16:27:16

0

它沒有任何意義,因爲java。*包中沒有類。

0

java中的包是而不是等級,即使文件系統是。包名稱只是一個名稱空間。 java.lang.reflect完全與java.lang無關。兩者都是完全不同的名字。

唯一的層次方面是名稱空間可以映射到一個文件夾結構,並且這個約定被最常用的類加載器使用,該類加載器可以期望文件夾./com/example/util中的packace com.example.util的類。但就是這些。