Java基础教程之包(package)
在 Java 中,包(package)是一种用于组织及管理类、接口及其他资源的机制。包可以看成是文件夹,类则是文件,利用类放在包中,可以更好地组织和访问代码。
包的定义
在 Java 中,一个包是一组相互关联的 Java 类的集合。
当需要用到某个类时,可以指定其完全限定名(包括包名称和类名)来引用该类,例如:
java.util.ArrayList myList = new java.util.ArrayList();
可以看到,类 ArrayList 必须包含在 java.util 包中,否则编译器会无法找到它。
类似于文件夹一样,Java 包是树状结构的。包名就是文件夹名,可以包含多层子包。
声明包名
Java 编译器要求每个源文件必须属于一个包。可以使用 package
声明来指定包名,放在源文件的第一行,例如:
package com.example.mypackage;
文件名必须和类名相同,例如 MyClass 类所在的源文件名必须是 MyClass.java。
如果一个类没有包名,这个类默认属于一个无名的默认包,不利于代码管理和重用,因此我们平时编写的类都应该有所属的包。
导入包
要使用其他包的类,必须在该类文件开头使用 import 语句导入所需包。例如:
import java.util.ArrayList;
这个语句表示我们需要在代码中使用 ArrayList 类,它属于 java.util 包。可以同时导入多个类:
import java.util.ArrayList;
import java.util.Collections;
可以使用 * 通配符导入整个包(注意通配符只能用于类名,不能用于包名),例如:
import java.util.*;
这个语句表示我们需要使用 java.util 包下的所有类。
示例一
以下示例演示了如何创建一个名为 com.example.hello 的包,以及如何导入 java.util 包下的 ArrayList 和 Date 两个类。
package com.example.hello;
import java.util.ArrayList;
import java.util.Date;
public class HelloWorld {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("Hello");
list.add("World");
System.out.println(list + " " + new Date());
}
}
以上代码中,我们创建了一个 HelloWorld 类并使用了 ArrayList 和 Date 两个类。需要注意的是,在这里 ArrayList 和 Date 类都没有使用全限定名,因为它们已经被导入到类文件中,可以直接使用。
示例二
以下示例演示了如何在包内部创建子包,并使用子包内的类。
在 com.example.hello 包中创建一个名为 utils 的子包,HelloWorld 类使用该子包下的 StringUtils 类。
package com.example.hello;
import com.example.hello.utils.StringUtils;
public class HelloWorld {
public static void main(String[] args) {
String s = "Hello World";
System.out.println(StringUtils.reverse(s));
}
}
然后我们还需要创建 com.example.hello.utils 包,并在其中创建 StringUtils 类实现字符串翻转的功能。实现代码如下:
package com.example.hello.utils;
public class StringUtils {
public static String reverse(String s) {
return new StringBuilder(s).reverse().toString();
}
}
在 HelloWorld 类中,我们使用 import com.example.hello.utils.StringUtils;
导入了字符串翻转的方法。其实,完全限定名是 com.example.hello.utils.StringUtils
,也可以这样使用:
String s = "Hello World";
System.out.println(com.example.hello.utils.StringUtils.reverse(s));
总结
包是 Java 编程中重要的组织和管理机制。定义包,需要使用 package 关键字。使用包,需要使用 import 关键字。包名的命名规范遵循域名反转的原则。当一个包需要被访问时,需要在包级别上设置访问权限。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java基础教程之包(package) - Python技术站