假设当前文件夹为: abc,下有1个文件HelloWorld.java和 文件夹HelloWorld(该文件夹下有一个HelloWorld2.java)
HelloWorld.java内容如下:
public class HelloWorld {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Hello World....asdf11111111111111ads");
}
}
HelloWorld2.java内容如下:
package HelloWorld;
public class HelloWorld2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Hello World....asdf11111111111111ads");
}
}
我们只要执行javac HelloWorld.java 和 java HelloWorld就可以执行程序了。
但是对于HelloWorld2.java,我们必须执行: javac HelloWorld/HelloWorld2.java和java HelloWorld/HelloWorld2才能运行。
因此我怀疑执行java命令时, JVM是考虑到“package HelloWorld;”的。
只要包含"package HelloWorld;", 就不能在当前目录执行HelloWorld了,必须包含全部的路径。。。
------解决思路----------------------
是滴
package包路径是java类的一部分
java的类在JVM中都是按照package1.package2.ClassName 的方式存在的,所以执行的时候,必须加上package路径