Java 中的 Main 类代表什么样的实体?[复制]

What kind of entity does the Main Class in Java represent? [duplicate]

提问人:nick 提问时间:8/2/2023 更新时间:8/2/2023 访问量:66

问:

每当我们看到面向对象编程的介绍时,我们通常会遇到这样的解释,类是一个对象的蓝图,它可以用来虚拟地表示现实世界的实体,例如车辆,每个实体都有一定的属性和行为(在这种情况下,假设属性是轮子的数量, 汽车的品牌和型号以及行为将是鸣喇叭、驾驶、刹车等),它们可以分别表示为类中的变量和函数。

现在,当我们在一个项目中遇到一大堆类时,我们可以看到有一个特定的 Main 类,其中没有变量和其他方法(Main 方法除外)但是我们看到在 main 函数中创建了其他类的对象,并且调用和执行了其他几个方法, 正在执行的其他操作。

在这种情况下,没有属性或行为的 Main 类代表什么样的现实世界实体?如果引入类和对象的全部目的是虚拟化现实世界的实体,那么什么样的类是主类?

另外,如果这个类不代表任何实体,那么为什么 Main 函数必须在它里面呢?为什么不能单独编写 main 函数而不包含在类中,其唯一目的是使用其他类的对象进行操作或做一些其他事情?

Java 对象 OOP 程序入口点

评论

0赞 Sweeper 8/2/2023
您可以对每个未设计为实例化的类提出该问题 - 、 等。归根结底,它归结为语言的(可以说是有问题的)设计决策。SystemMath
0赞 alalalala 8/2/2023
似乎有一些哲学色彩
0赞 Scary Wombat 8/2/2023
为什么不能单独编写 main 函数而不包含在类中在一个项目中可以有多个方法。由于它们在类中,因此要调用的 Main 方法是明确的。Main
1赞 davidalayachew 8/2/2023
我反对我们保持这个问题的开放性,或者用最近的答案来重复。Java 21 将大大改变这个问题的答案,因此,我们应该有机会用一双新的眼睛来回答它。
1赞 Scary Wombat 8/2/2023
@davidalayachew - 为什么不在链接的副本中添加最新的答案?

答:

-2赞 John Pareto 8/2/2023 #1

主类是启动程序时将调用的类。因此,这是您初始化将要使用的类以及调用方法以开始代码工作的地方。

评论

1赞 davidalayachew 8/2/2023
这并不能回答他们的问题。他们不是在问什么是“主类”,而是在试图理解它为什么会以这种方式工作,以及它相对于类结构的其余部分所处的位置。