2014-01-14 58 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类不一定需要一个主要方法。

相关问题