日志 8.12 2008

java类里的package声明,在编译阶段只是用来进行验证,看这个类是不是放在正确的路径下,这个验证只会在
make机制下才会进行(make是指自动编译所需要类别),当直接编译类时,是不会做这种验证操作的。
Do a test:
package test;
public class A
{
public static main(Strings[] args)
{
System.out.print('ok');
}
}
运行javac A ,应该不会出错
运行java A,应该会报错,说明在运行时也会检查package信息。虽然可以绕过make机制成功编译,但是放置的路径不对,程序无法运行。
javac A.java:A.java不会通过make机制去寻找
java A会通过classpath机制(类似于make机制,也就是通过类别路径参考表来进行寻找)来寻找A.class文件。

你可能感兴趣的:(java)