Java 何时使用不同的软件包?
我想开始创建应用程序,但是,我不知道什么时候应该使用软件包。如何使用软件包?您如何知道将哪个类放入哪个包中?除了涉及不超过一个文件的非常琐碎的程序外,您应该始终使用包。典型的包结构如下所示Java 何时使用不同的软件包?,java,Java,我想开始创建应用程序,但是,我不知道什么时候应该使用软件包。如何使用软件包?您如何知道将哪个类放入哪个包中?除了涉及不超过一个文件的非常琐碎的程序外,您应该始终使用包。典型的包结构如下所示 com.<your_company>.<your_project>.<sub_system>.... 按照惯例,包名称总是小写的。相反,类名总是以大写字母开头。例如,在 com.google.gwt.core.client.EntryPoint; 包名是com.goog
com.<your_company>.<your_project>.<sub_system>....
按照惯例,包名称总是小写的。相反,类名总是以大写字母开头。例如,在
com.google.gwt.core.client.EntryPoint;
包名是com.google.gwt.core.client
,类名是EntryPoint
学习的一个好方法是了解其他项目如何组织他们的包和类。下面我展示了一些示例(包括包名和类名):
我还想说的一点是,包名
通常是自上而下(从大到小)组织的。这个公约是
相反
互联网域名形成的惯例(从小到大)
在上面的例子中,Google的GWT
项目将他们的包命名为
com.google.gwt....
而谷歌的互联网域名就是这种形式
....google.com
许多公司和组织使用域名的背面作为其软件包的前缀。使用软件包按关注点分隔应用程序中的类。这在几个方面对您有所帮助:
- 避免无关类之间的名称冲突
- 将相关类分组在一起,并在不同的包中隔离不相关的类
- 来自的应用程序逻辑(也称为
)模型
- 演示文稿/gui代码(通常称为
)视图
用于计算java.lang.Math
- 用于gui框架的
,javax.swing
java.awt
用于缓冲输入/输出java.nio
可以分成几个类,所有这些加密类都可以在同一个包中这是一个愚蠢的问题,但是,如果您不属于某个组织或公司,该怎么办?你会给你的包起什么名字?它应该是你认为符合逻辑的,根据你试图解决的问题的性质或者你的包中的内容/类package@L4undry这是一个有道理的问题。我更新了我的答案来回答你的问题。
com.google.gwt.core.client.EntryPoint;
org.hibernate.annotations.Cache;
org.hibernate.annotations.CacheConcurrencyStrategy;
com.google.gwt.core.shared.GWT;
com.google.gwt.core.client.EntryPoint;
com.google.gwt.user.client.Window;
com.google.gwt.user.client.Window.Location;
com.google.gwt.user.client.rpc.AsyncCallback;
com.google.gwt.user.client.ui.RootPanel;
com.smartgwt.client.util.DateUtil;
com.smartgwt.client.util.SC;
com.smartgwt.client.widgets.Canvas;
com.smartgwt.client.widgets.HTMLFlow;
com.smartgwt.client.widgets.layout.VLayout;
com.google.gwt....
....google.com