2013-03-16 80 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的类。但就是这些。