请问:package 和 NoClassDefFoundError

chaisave 2002-03-03 08:41:45
本行是C++,老是不会用java的package,能帮我瞧瞧吗?
是这样的:
// j:\java\test\Base.java
package java.test;
public class Base {
public Base() {system.out.print("base");}
}
// j:\java\test\Derived.java
package java.test;
public class Derived extends Base {
public Derived() {System.out.println("derived");}
}
系统的CLASSPATH = J:;//等等
结果,两个文件在j:\java下都可以编译:
J:\java> javac base.java
J:\java> javac derived.java
但是:
J:\java> java base 和java derived就会报NoClassDefFoundError的错
能告诉我应该怎么设置吗?Thanks.
...全文
54 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
chaisave 2002-03-03
  • 打赏
  • 举报
回复
thanks a lot,
i got an answer through newsgroup
c:> java java.test.Derived
derived
chaisave 2002-03-03
  • 打赏
  • 举报
回复
谢谢楼上两位的帮助,命名模板?namespace吧,呵呵。
上面的例子中,忘记加一个main了!
package java.test;
public class Derived extends Base {
public Derived() {System.out.println("derived");}
public static void main(String[] args) {
Derived d = new Derived();
}
}
我在cmd窗口:
C:\echo %classpath%
.;E:\j2sdk1.4.0\jre\lib\rt.jar;J:
还是有错……
我把java Derived的提示再提一下:
Exception in thread "main" java.lang.NoClassDefFoundError: derived (wrong name:exam/derived)
我想并不是找不到class文件,而是名称不对。


peacock_king 2002-03-03
  • 打赏
  • 举报
回复
又是classpath中少了“.;”
remote_roamer 2002-03-03
  • 打赏
  • 举报
回复
你把package理解成c++的命名模板就差不多了.不过实际还是有一些差别
bread213 2002-03-03
  • 打赏
  • 举报
回复
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld
方法就将classpath设为:classpath=.;c:\jdk1.2\lib\dt.jar;c:\jdk1.2\lib\tools.jar
java -classpath base

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧