每当我运行我的程序(它只包含main中的JFrame和另一个public void方法)时,它只运行main方法。我知道这是因为当我测试System.out.println(“Test”)时;在第二种方法中它不执行,但如果我在main中执行相同的代码行将按预期执行
package com.route.route;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
public class Window extends JFrame {
private static final long serialVersionUID = 1L;
public void gfsdagfds(){
System.out.println("Hello");
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setVisible(true);
frame.setSize(800, 600);
frame.setLocationRelativeTo(null);
frame.setTitle("route UNREALEASED 0.01");
frame.setIconImage(null);
frame.setResizable(false);
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
答案 0 :(得分:3)
看起来你没有调用任何其他方法。 main()只是应用程序的入口点。你需要调用方法:
main(String[] args){
...
gfsdagfds()
...
}
答案 1 :(得分:1)
您永远不会在gfsdagfds()
内拨打main()
方法。方法仅在从main()
调用时执行,因为它是从JVM调用的唯一方法。如果您在gfsdagfds()
内拨打main()
,则会在System.out
答案 2 :(得分:1)
你没有调用第二种方法,因此它当然没有被执行。
您将无法从main
(静态)调用第二种方法(非静态)。您可以使用Window
作为对象而不是JFrame
来解决此问题,然后您可以致电frame.gfsdagfds()
。