在main之外创建类的实例

时间:2015-04-06 01:38:31

标签: java

我有一个主要方法的类。现在,我想在该类中创建一个JFrame类的对象,但作为一个全局实体而不是在main函数内部,我该怎么做呢?当我从main中删除实例化代码并将其粘贴到外部时,它给出了一些编译错误。

public class Driver {
    JFrame frame = new JFrame("Frame Heading");
    public static void main(String[] args) {
        frame.setSize(1000,500);;
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}

1 个答案:

答案 0 :(得分:0)

您可以结合使用静态变量和静态方法:

public class YourClass {
    private static JFrame frame = createFrame();

    private static JFrame createFrame() {
        frame = new JFrame();
        // ... more code ...
    }

    public static void main(String[] args) {
        // make use of frame
        frame.show();
    }
}

您还可以使用静态变量和静态初始化程序的组合:

public class YourClass {
    private static JFrame frame;

    static {
        frame = new JFrame();
        // ... more code ...
    }

    public static void main(String[] args) {
        // make use of frame
        frame.show();
    }
}