一、作用

  1. 提供多层的命名空间,解决命名冲突,区分相同名字的类。(处于不同package中的类可以拥有相同的名字)
  2. 对类按功能进行分类,使得项目的组织更加清楚,且当类很多时,可以很好的管理类
  3. 控制访问范围

二、换包命令

打包命令一般放在文件开始处。
package com.自定义名字; //例子

三、命名规范

小写字母 比如 com.yddcc。

四、引入包

引入一个包的主要目的要使用该包下的类

import java.awt.*;

五、在命令提示符下运行添加package后的java文件

在D:\workspace\test\src\test目录下有两个.java文件A.java和B.java。

package test;
import test.B;
public class A {
 public static void main(String[] args) {
      B b=new B();
      b.print();
 }
}
package test;
public class B {
	void print(){
	System.out.println("ok!");
	}
}
  • 编译:
  1. 用命令提示符执行javac语句编译A ,会显示错误。因为在A中调用了B中的方法,所以只编译A,B是不会被编译的。
  2. 解决方法:要么同时编译A.java、B.java,要么先编译B.java再编译A.java。
    在cmd中,
    (1)进入目录D:\workspace\test\src中,执行命令 javac .\test\ *.java 。此时A和B两个文件同时编译通过了
    (2)进入目录D:\workspace\test\src\test中,在cmd中执行命令 javac *.java 。
  • 运行:
  1. 切换到D:/workspace/test/src/目录下,在cmd中执行java A,运行会报错。
  2. 切换到D:/workspace/test/src/test 目录下,在cmd中执行java A依然会报错。
  3. 解决方法:由于之前的编译的时候是在package所在的目录,那么执行的时候要执行test下的A文件。在D:\workspace\test\src 目录下执行java test.A ,运行成功。