我厌倦了创建一个包含一个公共类的包和一个包含多个公共类的包,然后通过另一个包导入它们,这两次都是程序运行的。我理解差异,在第一个我只能使用一个公共类的方法,但该类可以在其包中使用其他类,当更多类是公共的时,我可以通过外包直接访问所有这些类。< / p>
现在当我们导入java.util.Scanner时,我们导入java.util.ArrayList是不是这个包相同?当我们用一个公共类导入我们的包时,它只显示一个公共类。这意味着java.util有多个公共类,或者?
那个java是什么呢。是的,它是否区分了我的包和java库包?
答案 0 :(得分:2)
是的,一个包可以有多个public
类。
为每个public
类创建一个新包非常麻烦,根本不提供任何概述。
java.
只是JDK / JRE附带的标准库。
软件包就像系统中的文件夹一样。您可以在文件夹中放置多个文件而不会出现问题。
通常,程序包的结构使它们组合相关的类,以便开发人员更容易。如果您想要根本没有包,或者您想为每个类创建一个新包:它没关系。你将成为自己最大的敌人,但肯定是可能的。
答案 1 :(得分:0)
import java.util.ArrayList;
表示:让我使用ArrayList
包中的课程java.util
,只需输入ArrayList
而不是java.util.ArrayList
。
java.util
是包的名称,没有别的。这是Java开发人员选择存储ArrayList
类的地方。它与任何其他包名称没有什么不同,除非您不允许将java
包用于您自己的类,因为它是为标准Java类保留的。
import java.util.*;
表示:让我使用软件包java.util
(ArrayList
,LinkedList
,Collection
等)的所有类,输入简单名称({{1 }},ArrayList
,LinkedList
等)而不是完全限定名称(Collection
,java.util.ArrayList
,java.util.LinkedList
等。)
所有这些类都是公开的(如javadoc中所述)。如果他们不公开,你将无法在自己的课堂上使用它们。