为什么main()是唯一执行的方法?

时间:2012-12-15 21:33:13

标签: java testing methods jframe main

每当我运行我的程序(它只包含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);


}

}

3 个答案:

答案 0 :(得分:3)

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

main(String[] args){
...
gfsdagfds()
...
}

答案 1 :(得分:1)

您永远不会在gfsdagfds()内拨打main()方法。方法仅在从main()调用时执行,因为它是从JVM调用的唯一方法。如果您在gfsdagfds()内拨打main(),则会在System.out

中看到“你好”

答案 2 :(得分:1)

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

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