先了解一个参数:ClassPath:相当于告诉应用类加载器要去哪里加载类的字节码文件,如果找到的文件是源代码,那么会编译之后再加载 (注意:classpath下一级的所有文件夹都会被识别为包)
实践案例
First.java
package first;
import first.second.*;
public class First{
public static void main(String[] args) {
Second s=new Second();
s.out();
}
}
Second.java
package first.second;
public class Second{
public void out(){
System.out.println("ok");
}
}
包的结构:我们将Test目录设置为ClassPath,将first作为第一级包,将second作为二级包。first中包含First.java,second中包含Second.java。First.java在first包中,所以package first,Second.java在first中的second包中,所以package first.second
验证过程
1.使用setclasspath将用户类路径设置在包结构之上一级
2.编译包含main函数的First.java
3.退出包结构范围(因为first算是第一级包)
4.使用 包名.Class文件名 的方式加载Class文件,结果正确运行输出ok
容易出现的错误
找不到或无法加载主类时怎么办?
1.常见的是检查一下你的环境变量是否配置正确
2.检查.class文件是否存在。
3.检查.java文件中是否存在包名,确认包名是否符合包规则。
4.注意:java指令不加.class