1

这是我从 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);
    }
}
4

1 回答 1

2

抱歉,我错过了阅读问题的原因

java SimpleFrameTest

不工作并抛出以下错误

错误名称:simpleFrame/SimpleFrameTest

是因为您可以看到您的 SimpleFrameTest 是某个包的一部分,在本例中为“simpleFrame”因此,为了运行此类,您还需要在命令中包含包名,例如

java simpleFrame.SimpleFrameTest

java包(simpleFrame)是一种将Java类组织成命名空间的机制

于 2013-09-02T21:47:46.440 回答