java.lang.堆栈溢出两个类之间的错误

我正在尝试在一个类中创建一个 JFrame,并在我的主类中添加一个 JPanel,这是不可能的吗?


这是我的主类


public class Main {


    JPanel p;

    JLabel lbl1;


    public static void main(String[] args) {

        new Main();

    }


    Main() {


        new Window();


        JPanel p = new JPanel();

        JLabel lbl1 = new JLabel("Hello");

        p.add(lbl1);

    }


}

和窗口类



public class Window extends Main {

    Window() {

        JFrame frame = new JFrame();

        frame.setSize(400, 400);

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        frame.setVisible(true);

        frame.add(p);

    }


}

我在线程“主”java.lang.堆栈溢出错误中收到异常


海绵宝宝撒
浏览 78回答 1
1回答

元芳怎么了

您的窗口类扩展了主。调用子类类的构造函数时,首先调用父类的构造函数。在你的情况下,你正在主构造函数中调用 Window 构造函数。由于继承,窗口构造函数调用主构造函数,导致堆栈溢出:每个构造函数调用另一个构造函数
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java