java包只有一个公共类吗?

时间:2013-11-23 17:29:42

标签: java package

我厌倦了创建一个包含一个公共类的包和一个包含多个公共类的包,然后通过另一个包导入它们,这两次都是程序运行的。我理解差异,在第一个我只能使用一个公共类的方法,但该类可以在其包中使用其他类,当更多类是公共的时,我可以通过外包直接访问所有这些类。< / p>

现在当我们导入java.util.Scanner时,我们导入java.util.ArrayList是不是这个包相同?当我们用一个公共类导入我们的包时,它只显示一个公共类。这意味着java.util有多个公共类,或者?

那个java是什么呢。是的,它是否区分了我的包和java库包?

2 个答案:

答案 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.utilArrayListLinkedListCollection等)的所有类,输入简单名称({{1 }},ArrayListLinkedList等)而不是完全限定名称(Collectionjava.util.ArrayListjava.util.LinkedList等。)

所有这些类都是公开的(如javadoc中所述)。如果他们不公开,你将无法在自己的课堂上使用它们。