这是我从Core Java Volume 1 - Fundamentals复制粘贴的代码。我只是理解概念,我喜欢看它是否编译。当我进入......
javac SimpleFrameTest.java
在终端,它编译得很好。但是当我输入
java SimpleFrameTest
我收到以下错误
Exception in thread "main" java.lang.NoClassDefFoundError: SimpleFrameTest (wrong name: simpleFrame/SimpleFrameTest)
这是实际的java代码。如果我应该采取不同的做法,请告诉我。
package simpleFrame;
import java.awt.*;
import javax.swing.*;
public class SimpleFrameTest
{
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
SimpleFrame frame = new SimpleFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
}
class SimpleFrame extends JFrame
{
private static final int DEFAULT_WIDTH = 30;
private static final int DEFAULT_HEIGHT = 200;
public SimpleFrame()
{
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
}
}
答案 0 :(得分:2)
抱歉,我错过了阅读问题,之所以这个
java SimpleFrameTest
无效并抛出以下错误
错误的名称:simpleFrame / SimpleFrameTest
是因为您可以看到您的SimpleFrameTest是某个包的一部分,在本例中为“simpleFrame”因此,为了运行此类,您还需要在命令中包含packagename,例如
java simpleFrame.SimpleFrameTest
java包(simpleFrame)是一种将Java类组织成命名空间的机制