Java中的静态模式

时间:2016-09-22 00:12:59

标签: java swing static

我在使用line this.add(p)时遇到了一些麻烦。我得到一个错误,说'不能在静态上下文中使用它' - 是的,这是一个非常简单的问题,但有人可以解释为什么那行不起作用和静态模式?

    import java.awt.Color;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    import javax.swing.JLabel;
    import javax.swing.JButton; 
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    public class LeapYear {

    public static void main(String[] args) {
        int nmbr;
        nmbr = Integer.valueOf(JOptionPane.showInputDialog("enter any year"));

        {

            }
            if (nmbr>0 && 4%nmbr==0) {

                JPanel panel = new JPanel();
                panel.add(new JLabel("Name"));
                panel.add(new JTextField(20));

                JButton start = new JButton();
                start.add(new JButton("Start"));
                panel.setBackground(Color.YELLOW);


                this.add(panel);
                panel.setOpaque(false);
        }

        if ((nmbr % 5) == 0) {
            System.out.print(nmbr + " is not multiple of 5.");
        }


    }
    }

(是的,我知道我已经导入了许多Swings,我只是在看我可以导入的东西。)  新编码员能够理解的答案将不胜感激!感谢

1 个答案:

答案 0 :(得分:2)

它们是关键字,指的是类的实例。在静态上下文中,您没有实例,因此您无法引用它。

点击此链接,详细了解“this”关键字:What is the meaning of "this" in Java?