2014-10-08 66 views
0
package aaa; 

import javafx.application.Application; 

import javafx.scene.Scene; 

import javafx.scene.control.Button; 

import javafx.stage.Stage; 

public class pear { 

    public class aaa extends Application{ 
     @Override 
     public void start(Stage primaryStage){ 
      Button okbt = new Button("ok"); 
      Scene scene = new Scene(okbt, 200,250); 
      primaryStage.setTitle("n"); 
      primaryStage.setScene(scene); 
      primaryStage.show(); 
     } 
     public static void main(String[] args){ 
      Application.launch(args); 
     } 
     } 
    } 

這是我的教科書對我的代碼示例,我試圖運行它,但它不會運行。這是錯誤:不讓我運行應用程序

 
Error: Main method not found in class aaa.pear, please define the main method as: 
    public static void main(String[] args). 

我不明白爲什麼它錯了,因爲主類是啓動類之外,內部的擴展應用。這直接來自一本書,我只需要知道爲什麼它不會運行。

回答

2

您的main方法處於內部類(aaa)。請嘗試將其直接放入pear類中。

+0

謝謝,它的工作原理。錯誤的是我在另一堂課中有過。 – 2014-10-08 20:19:09

+0

很高興幫助。如果它解決了你的問題,請接受這個答案。 – MrHug 2014-10-08 20:21:11

3

static方法只能在靜態或頂級類中聲明,而不能在非靜態嵌套類中聲明。在這種情況下,它只是簡單使用後者

public class MyPearApp extends Application { 

    public static void main(String[] args){ 
    ... 
    } 
} 
0

一切都應該在main方法:

例如:

public class pear { 

    public static void main(String[] args) { 

    //Logic and Everything else goes in here 
}