Java 包
Java中的包用于对类进行分组管理。可以把包看作一个文件夹。包可以用来避免名称冲突,代码维护更容易。包分为两类:
- 内置包(来自Java API的包)
- 用户定义的包(自己创建的包)
内置包
Java API是一个预先编写的类库,可以免费使用,包含在Java开发环境中。
该库包含了输入管理、数据库开发等组件。完整的名单可以在甲骨文公司的网站上找到: https://docs.oracle.com/javase/8/docs/api/。
库分为包和类,应用程序中要使用时,可以导入单个类(及其方法和属性),也可以导入整个包。
要导入库中的类或包,可以使用import
关键字:
语法
import package.name.Class; // 导入单个类
import package.name.*; // 导入整个包
导入单个类
想要使用Scanner
类,导入该类的代码如下所示:
示例
import java.util.Scanner;
上面的例子中,java.util
是一个包,而Scanner
是该包中的一个类。
要使用Scanner
类,先创建该类的对象,然后调用该类的方法。下面的例子中,将使用该类的nextLine()
方法,读取一个完整行:
示例
使用Scanner
类获取用户输入:
import java.util.Scanner;
class MyClass {
public static void main(String[] args) {
Scanner myObj = new Scanner(System.in);
System.out.println("输入用户名");
String userName = myObj.nextLine();
System.out.println("用户名: " + userName);
}
}
导入整个包
Java中,有许多包可供使用。在前面的示例中,使用了java.util
包中的Scanner
类,这个包还包含日期和时间工具、随机数生成器和其他实用类。
要导入整个包,在import
句尾加上星号(*)。下面的示例,将导入java.util
中的所有类。
示例
import java.util.*;
用户定义的包
Java使用文件夹来存储包,如下所示:
示例
└── root
└── mypack
└── MyPackageClass.java
要创建一个自定义的包,使用package
关键字:
MyPackageClass.java
package mypack;
class MyPackageClass {
public static void main(String[] args) {
System.out.println("这是我的包!");
}
}
将文件保存为MyPackageClass.java
,然后编译:
G:projectqikegu-demojavamypack> javac -encoding utf-8 MyPackageClass.java
编译包:
C:UsersYour Name>javac -d . MyPackageClass.java
这将使编译器创建“mypack”包。
参数
-d
指定了编译后class文件的保存目录。上面的例子中,使用了.
,表示当前目录。注意: 包名应该用小写字母,以免与类名冲突
上面的例子中,编译包时,将在当前目录下,创建一个名为“mypack”的新文件夹。
要运行MyPackageClass.java
文件,执行以下命令:
G:projectqikegu-demojavamypack> java mypack.MyPackageClass
输出:
这是我的包!