在程序开发过程中,需要将编写的类分目录存放便于管理为此引入了包(package)机制,程序可以通过声明包的方式对java类定义目录。

包的定义和使用

定义:通常把功能相同的类存放在相同的包中。在声明包时,使用package语句,具体示例如下:

package pkg1[.pkg2[.pkg3…]];

当编译一个声明了包的java源文件,需要使用命令生成与包名对应的目录,使用“-d”来指定生成的类文件的位置,可以用“.”来表示当前目录,也可写绝对路径,最终。class文件将存放于改目录下,如果该目录不存在,java虚拟机会帮你自动创建。具体示例如下:

javac -d [路径];

注意:
- 包的声明只能位于java源文件的第一行。
- 建立定包名不要重复,可以使用url来完成定义,url是唯一的。
- java中包的命名规范:全小写字母拼写。
- 包机制的引入,可以对.class文件进行集中的管理。如果没有显式地声明package语句,类则处于默认包下。
包的定义示例:

package com.sunxiaoning;
public class HelloWorld
{
    public static void main()
    {
        System.out.println("HelloWorld!!!");
    }
}

使用:在程序开发中,位于不同包中的类会经常需要互相调用。调用时需要使用“包名.类名”的格式来调用,同意包中的类,包名可以省略。在实际开发中,定义的类都是包含包名的,而且还有可能定义很长的包名。为了简化代码,java中提供了import关键字,使用import可以在程序中一次导入某个指定包下的类,这样就不必在每次用到该类时都书写完整类名了,具体格式如下:

import 包名.类名;

注意:
- import通常出现在package语句之后,类定义之前。
- 如果需要用到一个包的多个类时,则可以使用“import.包名.”的方式导入该包下的所有类。建议,不要写通配符 ,需要用到包中的哪个类,就导入哪个类。

jar包

在实际开发过程中,经常需要开发一些类供给别人使用,为了能更好地管理这些类,在JDK中提供了一个jar命令,使用这个命令能够将这些类打包成一个文件,这个文件的扩展名为.jar。它是一种压缩文件,独立于任何操作系统平台,习惯上也将jar文件称为jar包。在使用jar包时,只需要在classpath环境变量中包含这个这个jar文件的路径,java虚拟机就能够自动在内存中解压这个jar文件,根据包名所对应的目录结构去寻找所需要的类。
压缩jar文件

jar -cvf [jar包的名称].jar [需要压缩的文件名]

参数:
- -c代表创建归档的文件
- -v代表在标准输出中生成详细输出
- -f代表指定归档文件名

解压

jar -xvf [jar包的名称].jar