我设置了classpath,编译也正常,java Music5就报异常
java.lang.NoClassDefFoundError 不清楚!
源码转自thinking in java
//: c08:music5:Music5.java// Interfaces.
import java.util.*; interface Instrument {
// Compile-time constant:
int i = 5; // static & final// Cannot have method definitions:
void play(); // Automatically public
String what();
void adjust();
}class Wind implements Instrument {
public void play() {
System.out.println("Wind.play()");
}
public String what() { return "Wind"; }
public void adjust() {}
}class Percussion implements Instrument {
public void play() {
System.out.println("Percussion.play()");
}
public String what() { return "Percussion"; }
public void adjust() {}
}class Stringed implements Instrument {
public void play() {
System.out.println("Stringed.play()");
}
public String what() { return "Stringed"; }
public void adjust() {}
}class Brass extends Wind {
public void play() {
System.out.println("Brass.play()");
}
public void adjust() {
System.out.println("Brass.adjust()");
}
}class Woodwind extends Wind {
public void play() {
System.out.println("Woodwind.play()");
}
public String what() { return "Woodwind"; }
}public class Music5 {
// Doesn't care about type, so new types// added to the system still work right:
static void tune(Instrument i) {
// ...
i.play();
}
static void tuneAll(Instrument[] e) {
for(int i = 0; i < e.length; i++)
tune(e[i]);
}
public static void main(String[] args) {
Instrument[] orchestra = new Instrument[5];
int i = 0;
// Upcasting during addition to the array:
orchestra[i++] = new Wind();
orchestra[i++] = new Percussion();
orchestra[i++] = new Stringed();
orchestra[i++] = new Brass();
orchestra[i++] = new Woodwind();
tuneAll(orchestra);
}
} ///:~
java.lang.NoClassDefFoundError 不清楚!
源码转自thinking in java
//: c08:music5:Music5.java// Interfaces.
import java.util.*; interface Instrument {
// Compile-time constant:
int i = 5; // static & final// Cannot have method definitions:
void play(); // Automatically public
String what();
void adjust();
}class Wind implements Instrument {
public void play() {
System.out.println("Wind.play()");
}
public String what() { return "Wind"; }
public void adjust() {}
}class Percussion implements Instrument {
public void play() {
System.out.println("Percussion.play()");
}
public String what() { return "Percussion"; }
public void adjust() {}
}class Stringed implements Instrument {
public void play() {
System.out.println("Stringed.play()");
}
public String what() { return "Stringed"; }
public void adjust() {}
}class Brass extends Wind {
public void play() {
System.out.println("Brass.play()");
}
public void adjust() {
System.out.println("Brass.adjust()");
}
}class Woodwind extends Wind {
public void play() {
System.out.println("Woodwind.play()");
}
public String what() { return "Woodwind"; }
}public class Music5 {
// Doesn't care about type, so new types// added to the system still work right:
static void tune(Instrument i) {
// ...
i.play();
}
static void tuneAll(Instrument[] e) {
for(int i = 0; i < e.length; i++)
tune(e[i]);
}
public static void main(String[] args) {
Instrument[] orchestra = new Instrument[5];
int i = 0;
// Upcasting during addition to the array:
orchestra[i++] = new Wind();
orchestra[i++] = new Percussion();
orchestra[i++] = new Stringed();
orchestra[i++] = new Brass();
orchestra[i++] = new Woodwind();
tuneAll(orchestra);
}
} ///:~
解决方案 »
- 新人,提问:在java与C++中while与for到底有什么区别希望高手给小弟我举个例子,书上说的我看不懂
- 安装TOMCAT5.0.30时候询问NO java virtual machine found
- JAVA 调用存储过程报NullPointerException,请教
- 用static太多是否耗内存?
- serialVersionUID 是做什么用的?
- 怎么把窗体设为全屏
- 对齐问题
- 为什么答案是A呢? 可以解释一下吗? 多谢了
- 连接数据库的applet,在jb里运行正常,用appletviewer也行,只有在IE里边不能正常运行,java控制台说找不见class,我该怎么让java控制台
- 如果你認為你還算是人的話,你就看一下吧!
- 一个IO的题目 大家来做做!
- 在JAVA web start中,在文本条 文本框中输入中文时,弹出的输入框又笨又大又是双层的,难看死了
还有你的类所在的路径
classpath=%JAVA_HOME%\lib\tools.jar
classpath=.;%JAVA_HOME%\jre\lib;
令外你的classpath前面还需要一个.这个可不能缺少