<span>Java - package和import</span>
package
-
包的 3 个作用如下:
1.区分相同名称的类。
2.能够较好地管理大量的类。
3.控制访问范围。 -
Java 包的命名规则如下:
1.包名全部由小写字母(多个单词也全部小写)。
2.如果包名包含多个层次,每个层次用“.”分割。
3.包名一般由倒置的域名开头,比如 com.baidu,不要有 www。
4.自定义包不能 java 开头。
注意:如果在源文件中没有定义包,那么类、接口、枚举和注释类型文件将会被放进一个无名的包中,也称为默认包。在实际企业开发中,通常不会把类定义在默认包下。 -
所有的Java类都是放在同一个目录下面的,因此类之间的相互调用无需显式声明调用。
-同一个目录下,两个类的名字不能相同。
-文件过多,查找和修改都不易,且容易出错。 -
Java支持多个目录放置Java,并且通过package/import/classpath/jar等机制配合使用,可以支持跨目录放置和调用Java类。
-package包和C++中的namespace类似。
-在Java类文件的第一句话给出包的名称。
//cn/edu/ecnu/PackageExample.java
package cn.edu.encu;
public class PackageExample {
}
类全称cn.edu.encu.PackageExample,短名称 PackageExample 。
- 引用类的时候,必须采用全称引用;程序正文可以用短名称。
- PackageExample.java必须严格放置在cn/edu/ecnu目录下。
-包名 package name尽量唯一。
-域名是唯一的,因此常用域名做包名。
-域名逆序 cn.edu.encu 范围通常从大到小。
-类的完整名字:包名+类名。
import
如果使用不同包中的其它类,需要使用该类的全名(包名+类名)。代码如下:
example.Test test = new example.Test();
其中,example 是包名,Test 是包中的类名,test 是类的对象。
为了简化编程,Java 引入了 import 关键字,import 可以向某个 Java 文件中导入指定包层次下的某个类或全部类。import 语句位于 package 语句之后,类定义之前。一个 Java 源文件只能包含一个 package 语句,但可以包含多个 import 语句。多个import的顺序无关。
使用 import 导入单个类的语法格式如下:
import 包名+类名;
上面语句用于直接导入指定类,例如导入前面的 example.Test 类,代码如下:
import example.Test;
使用 import 语句导入指定包下全部类的用法按如下:
import example.*;
上面 import 语句中的星号(*)只能代表类,不能代表包,表明导入 example 包下的所有类。
提示:使用星号( * )可能会增加编译时间,特别是引入多个大包时,所以明确的导入你想要用到的类是一个好方法,需要注意的是使用星号对运行时间和类的大小没有影响。
通过使用 import 语句可以简化编程,但 import 语句并不是必需的,如果在类里使用其它类的全名,可以不使用 import 语句。
Java 默认为所有源文件导入 java.lang 包下的所有类,因此前面在 Java 程序中使用 String、System 类时都无须使用 import 语句来导入这些类。但对于前面介绍数组时提到的 Arrays 类,其位于 java.util 包下,则必须使用 import 语句来导入该类。
总结:
-
Java通过包(package)来分开类
-package必须和目录层次一样。 -
Java通过引用(import)来导入类
-import类尽量准确
参考资料:
http://c.biancheng.net/view/6084.html