2014-01-14 76 views
2

我現在正在註冊在線Java課程,我的講師讓我相信所有的Java類都必須有一個主要方法爲什麼有些課程需要主要方法而其他課程則不需要?

即,

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

然而,我們剛剛達成的其他文件交叉引用類的單位如果是這種情況並非如此。

Ex。

public class Pie 
{ 

     // declare variables to be called in separate file 
     String type; 
     int diameter; 
     float radius; 

} 

餅隨後可以在時尚的引用,如:

Pie newPie = new Pie(); 

System.out.println("What type of pie will you be eating today?"); 
     newPie.type = in.readLine(); 
     System.out.println("Ah. " + newPie.type + ". Excellent choice.\n"); 

這工作得很好。然而,爲什麼這個功能正確地避免了我的解釋。任何人都可以解釋嗎?

+1

所有的Java應用程序_必須包含至少一個具有main方法的類;但_might_包含沒有主要方法的其他類。 –

+0

要麼你誤解了你的導師,要麼他不知道他在說什麼。我的錢是在前者。 – EJP

回答

5

每個Java程序(這反過來,從一個或多個Java類建立)需要一個主要方法。這種特殊方法的目的是作爲程序的入口點,以便程序可以執行。更多信息可在this頁面找到。

在你的Pie的例子中,發生什麼事是當你運行你的應用程序時,主要的方法將是第一個被調用的東西。一旦它被調用,它將創建一個新的Object,命名爲newPie,使用Pie模板(類)等。

正如額外的信息,如果您使用的是IDE,如果你在你的Pie類添加一個main方法與給定的簽名:你運行你的程序下一次public static void main(String[] args)時,IDE會要求你選擇的切入點因爲它現在會找到兩個入口點。一旦你做出選擇,IDE將進行必要的配置,以便記錄應用程序的入口點。

3
my instructor has led me to believe that all Java classes must have a main method 

這是錯誤的。所有的課程沒有必要有一個main方法。 main方法用作Java應用程序的入口點。所以一旦你使用一個類的main方法輸入了java代碼,你可以在那裏調用其他類的代碼形式。

一個更好的說法應該是:

在Java編程語言中,每個應用程序都必須包含一個 主要方法,作爲應用程序的入口點。

詳細瞭解主要方法在這裏:

http://docs.oracle.com/javase/tutorial/getStarted/application/index.html?utm_source=twitterfeed&utm_medium=twitter#MAIN

0

它們是不同的,

通常您需要在應用存儲一些數據

創建類,但還有另外一個類是主類,這將啓動您的應用程序,你的應用程序開始將在那裏和調用另一個類

1

在每個java類中沒有必要有main方法main方法是java應用程序的入口點。沒有main方法可以有一個class

2

Java類和Java程序是兩回事。

Java程序包含一個或多個Java類,每個類可以包含方法和變量。主要方法是一種特殊的靜態方法,Java將Java識別爲程序中的入口點(您可以將主要方法看作是程序的藍圖或方向集,而類則是像Pie這樣的對象的藍圖) 。

所以要回答你的問題,有一個誤解。一個Java程序需要一個主要方法,而一個Java類不一定需要一個主要方法。

相關問題