MyJava.java 调用了另一个文件HisJava.java里的一个类
我使用EditPlus,编译、运行都正常但是,当我修改了HisJava里的代码后,返回MyJava,重新编译,能通过,但就是不能运行,出现了:
Exception in thread "main" java.lang.NoClassDefFoundError: MyJava我尝试着在DOS里运行命令:
java MyJava
却是正常的!更奇怪的是,在EditPlus里,将MyJava的所有代码复制,然后新建一个文件,把复制的所有代码粘贴进去,保存,覆盖掉MyJava,再运行,竟然没有出现错误。困惑死了。EditPlus的问题????
我使用EditPlus,编译、运行都正常但是,当我修改了HisJava里的代码后,返回MyJava,重新编译,能通过,但就是不能运行,出现了:
Exception in thread "main" java.lang.NoClassDefFoundError: MyJava我尝试着在DOS里运行命令:
java MyJava
却是正常的!更奇怪的是,在EditPlus里,将MyJava的所有代码复制,然后新建一个文件,把复制的所有代码粘贴进去,保存,覆盖掉MyJava,再运行,竟然没有出现错误。困惑死了。EditPlus的问题????
java MyJava正常那样因为运行的是你欠一次编译的MyJava.class文件
import java.awt.event.*;
public class MyJava
{
private Frame f=new Frame("调用其他窗口的类");
private TextField tf=new TextField(40);
private Button send=new Button("发送");
public void init(){
send.addActionListener(new HisJava(tf));
f.add(tf);
f.add(send,BorderLayout.SOUTH);
f.pack();
f.setVisible(true);
}
public static void main(String[] args)
{
new MyJava().init();
}
}
HisJava.javaimport java.awt.*;
import java.awt.event.*;
public class HisJava implements ActionListener
{
private TextField mail;
public HisJava(TextField mail){
this.mail=mail;
}
public void actionPerformed(ActionEvent e)
{
System.out.println(mail.getText());
}
}
System.out.println(mail.getText());
修改为:
System.out.println("hello," + mail.getText());
保存,并编译一次再然后,切换到MyJava,编译-正常;运行——就不行了,出现了:
Exception in thread "main" java.lang.NoClassDefFoundError: MyJava于是,就出现了帖子开头的情况:
将MyJava的所有代码复制,然后新建一个文件,把复制的所有代码粘贴进去,保存,覆盖掉MyJava,再运行,竟然没有出现错误。