Java 为什么有些类需要main方法而其他类不需要?

Java 为什么有些类需要main方法而其他类不需要?,java,class,oop,Java,Class,Oop,我目前参加了一个在线Java课程,我的导师让我相信所有Java课程都必须有一个main方法 即 然而,我们刚刚接触到一个关于在其他文件中交叉引用类的单元,但事实并非如此 前 然后可以通过以下方式引用饼图: Pie newPie = new Pie(); System.out.println("What type of pie will you be eating today?"); newPie.type = in.readLine(); System.out.

我目前参加了一个在线Java课程,我的导师让我相信所有Java课程都必须有一个main方法

然而,我们刚刚接触到一个关于在其他文件中交叉引用类的单元,但事实并非如此

然后可以通过以下方式引用饼图:

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");
这个很好用。然而,我无法解释为什么这项功能正常运行。谁能解释一下吗

my instructor has led me to believe that all Java classes must have a main method
这是错误的。并非所有类都必须有
main
方法
main
方法用作java应用程序的入口点。因此,一旦您使用单个类的main方法输入了java代码,您就可以在那里调用其他类的代码

更好的说法是:

在Java编程语言中,每个应用程序都必须包含 main方法,作为应用程序的入口点

在此了解有关主要方法的更多信息:

每个Java程序(由一个或多个Java类构建而成)都需要一个Main方法。此特殊方法的目的是作为程序的入口点,以便可以执行程序。更多信息可在第页中找到

在您的
Pie
示例中,当您运行应用程序时,将首先调用main方法。一旦调用它,它将使用
Pie
模板(类)创建一个名为
newPie
的新
对象

作为额外信息,如果您使用的是IDE,如果您在
Pie
类中添加一个带有给定签名的
main
方法:
publicstaticvoidmain(String[]args)
,下次运行程序时,IDE将要求您选择入口点,因为它现在已经找到了两个入口点。一旦您做出选择,IDE将进行必要的配置,以便记录应用程序的入口点。

它们是不同的

通常,您在应用程序中创建类来存储一些数据


但是还有另一个类是您的主类,它将启动您的应用程序,并且您的应用程序将在那里启动并调用另一个类

不必在每个java类中都使用
main
方法
main
方法是java应用程序的入口点。没有
main
方法,可以有
class

Java类和Java程序是两种不同的东西

一个Java程序包含一个或多个Java类,每个类都可以包含方法和变量。main方法是一种特殊的静态方法,Java将其识别为程序中的入口点(您可以将main方法视为程序的蓝图或方向集,而类是像饼图一样的对象蓝图)


所以为了回答你的问题,有一个误解。Java程序需要一个main方法,Java类不一定需要main方法。

所有Java应用程序必须至少包含一个带有main方法的类;但可能包含其他没有主要方法的课程。要么你误解了你的导师,要么他不知道他在说什么。我的钱在前者身上。
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");
my instructor has led me to believe that all Java classes must have a main method