javac -d . A.java
-d 表示自动生成包层
. 表示这个包层在当前目录下建立
package link.roland;//package 语句必须是第一条语句 //该语句表示把该文件中的所有类放入link。roland这个包中 //并且该文件所有类真正名字将是包名和类名的组合 class A { public void print() { System.out.println("aaa"); } } public class TEST//类TEST的名字将变成link.roland.TEST { public static void main(String [] args) { new A().print(); } }
2.编译时尽量使用javac -d . TEST.java
最后不要用javac TEST.java
后者要自己手动建立包目录
3.如果不在当前路径下运行程序,必须保证class文件的最上层目录的父目录位于classpath下
4.该程序如何运行
先检测当亲目录下是否有l.r这个包(包即文件夹)
如果有,再检测报下是否有l.r.t这个类
如果没有,编译器将再去classpath设置的路径中依次查找
如果都找不到,运行出错
5.
//文件名 A.java package abc.def public class A { public void a() { System.out.println("aaa"); } } //文件名B.java packae odj.sda public class B { public static void main(String args[]) { abc.def.A aa = new abc.def.A//创建新对象 aa.a(); } }
5.因为b调用了a,所以单独编译时必须先编译a,后编译b
建议2个文件一起编译
Javac -d . A.java B.java
6.如何使用jar包中的类
假设现在有一个t.jar包,要想再任何目录下都可以访问该包中的类,则设置classpath时,必须把包名t.jar也设置进去,因为t.jar也相当于一个目录
例如再d:a下有一个t.jar,则classpath必须设置为d:at.jar