-2

每当我运行我的程序时(仅由 main 中的 JFrame 和另一个公共 void 方法组成),它只运行 main 方法。我知道是这种情况,因为当我测试 System.out.println("Test"); 在第二种方法中它不执行但如果我在 main in 中执行相同的代码行将按预期执行

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);


}

}

4

3 回答 3

2

看起来您没有调用任何其他方法。main() 只是应用程序的入口点。您需要调用该方法:

main(String[] args){
...
gfsdagfds()
...
}
于 2012-12-15T21:35:15.427 回答
1

你永远不会gfsdagfds()main(). 方法只会在调用 from 时执行main(),因为它是唯一从 JVM 调用的方法。如果你打电话到gfsdagfds()里面main()你会看到“你好”System.out

于 2012-12-15T21:35:23.827 回答
1

你没有调用第二种方法,所以它当然没有被执行。

您将无法从main(静态)调用第二种方法(非静态)。您可以通过使用 aWindow作为对象而不是来解决此问题JFrame,然后您可以调用frame.gfsdagfds().

于 2012-12-15T21:36:00.903 回答