关于.class文件的问题
两个类类1:(保存在F:/java编程/Program/print.java)
package classbag.helloworld;
public class print
{
public void pt()
{
System.out.println("Hello World!");
}
}
类2:(保存在F:/java编程/Program/HelloWorld.java)
import classbag.helloworld.*;
public class HelloWorld
{
public static void main(String args [])
{
new print().pt();
}
}
企图用类2中import把类1中的包给调入到类2中然后通过类2调用类1中的pt()来打印出HelloWolrd!文字
第一步:
F:/java编程>javac -d . ./Program/print.java
在F:/java编程/classbag/helloworld文件夹中生成了print.class文件(没有问题)
第二步:
F:/java编程>javac -d . ./Program/HelloWorld.java
在F:/java编程文件夹下生成 HelloWorld.class文件(没有问题)
第三步:
F:/java编程>java HelloWorld
运行 输出了 HelloWorld!文字 完全正确!下面问题来了
第四步:
F:/java编程>javac ./Program/HelloWorld.java
在F:/java编程/Program中生成HelloWorld.class文件
第五步:
F:/java编程>java Program.HelloWorld
出错!提示:
Exception in thread "main" java.lang.NoClassDefFoundError:Program/HelloWorld(wrong name:HelloWorld)
第六步:
我把刚才生成的HelloWorld.class拷贝到F:/java编程文件夹下
F:/java编程>java HelloWorld 没有问题
第七步:
我把类2加句package classbag.helloworld;
package classbag.helloworld;
import classbag.helloworld.*;
public class HelloWorld
{
public static void main(String args [])
{
new print().pt();
}
}
F:/java编程>javac -d . ./Program/HelloWorld.java
在F:\JAVA编程\classbag\helloworld文件夹下生成HelloWorld.class文件编译没有问题
但是我把这个文件在拷贝到F:/java编程文件夹下编译却又出了问题
[此贴子已经被作者于2006-11-5 19:32:40编辑过]