繁体   English   中英

java包只有一个公共类吗?

[英]Should a java package have only one public class?

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

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

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

是的,一个包可以有多个public类。

为每个public类创建一个新包将非常麻烦,根本不提供任何概述。

java. 只是JDK / JRE附带的标准库。

软件包就像系统中的文件夹一样。 您可以在文件夹中放置多个文件而不会出现问题。

通常,包的结构使它们组合相关的类以使开发人员更容易。 如果您想要根本没有包,或者您想为每个类创建一个新包:它没关系。 你将成为自己最大的敌人,但肯定是可能的。

import java.util.ArrayList;

意思是:让我通过输入ArrayList而不是java.util.ArrayListjava.util的类ArrayList

java.util是包的名称,没有别的。 这是Java开发人员选择存储ArrayList类的地方。 它与任何其他包名称没有什么不同,除非您不允许将java包用于您自己的类,因为它是为标准Java类保留的。

import java.util.*;

意思是:让我使用包java.utilArrayListLinkedListCollection等)的所有类,通过键入它们的简单名称( ArrayListLinkedListCollection等)而不是它们的完全限定名( java.util.ArrayListjava.util.LinkedListjava.util.Collection等)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM