"Main Method not Public" - 尝试在 Eclipse 上运行程序时出现错误消息



这是我在Eclipse上使用的代码,我不知道我在哪里出错了。我是Java初学者,所以我对这个主题不太熟悉。任何帮助都将非常感激。当我试着看看我通过运行程序走了多远时,错误总是出错,请放松计算机术语,我是新手lol。

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.LineBorder;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.awt.BorderLayout;
public class CBombRombot extends JFrame implements ActionListener, ChangeListener {
    private JPanel panel;
    private JPanel bottompanel;
    private JPanel rightpanel;
    private static void main(String[] args) {
        CBombRombot frame = new CBombRombot();
        frame.setTitle("CBombRobot Application");
        frame.setSize(875, 550);
        frame.show();
        frame.setResizable(false);
        frame.setLocationRelativeTo(null);
    }
    private void createGUI() {
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        Container window = getContentPane();
        window.setLayout(new BorderLayout());
        panel = new JPanel();
        panel.setPreferredSize(new Dimension(650, 450));
        panel.setBackground(Color.white);
        window.add(panel);
        rightpanel = new JPanel();
        rightpanel.setPreferredSize(new Dimension(200, 180));
        rightpanel.setBackground(Color.lightGray);
        window.add(rightpanel, BorderLayout.EAST);
        bottompanel = new JPanel();
        bottompanel.setPreferredSize(new Dimension(400, 50));
        bottompanel.setBackground(Color.lightGray);
        window.add(bottompanel, BorderLayout.SOUTH);
    }
    @Override
    public void stateChanged(ChangeEvent arg0) {
        // TODO Auto-generated method stub
    }
    @Override
    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
    }
}

你的main方法需要是public的:

public static void main(String[] args)

看看一些教程,例如:

在Java语言中,当您使用Java解释器执行一个类时,运行时系统首先调用类的main()方法。然后,main()方法调用运行应用程序所需的所有其他方法。

或Oracle官方教程:

在Java编程语言中,每个应用程序必须包含一个签名为:public static void main(String[] args)

的主方法。

您需要将main方法声明为公共静态void。原因如下:

  • Public - main方法被JVM调用来运行该方法因此,在项目范围之外,访问说明符必须是public允许从应用程序外的任何地方调用
  • static -当JVM调用main方法时,没有对象存在于被调用的类中,因此它必须具有
  • void - Java是平台无关的语言,因此如果它会的话返回一些值,那么该值可能意味着不同平台如此不同于C,它不能假定返回值的行为
参考:为什么main()在java中是public static void main

相关内容

  • 没有找到相关文章

最新更新