当前位置: 代码迷 >> Java相关 >> 关于.class文件的问题
  详细解决方案

关于.class文件的问题

热度:309   发布时间:2006-11-05 19:31:04.0
关于.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编辑过]

搜索更多相关的解决方案: java编程  package  public  import  

----------------解决方案--------------------------------------------------------
有包的文件,要记得,包和文件夹是对应的
----------------解决方案--------------------------------------------------------
  相关解决方案