首先对于Java语言而言,一个普通的应用程序没有特殊情况JVM总是从main方法开始 启动并执行程序逻辑。通常也把包含main方法的类称作主类,常规性一个普通Java应用 程序只有一个类包含main方法就可以了,但是这并不说明其他类中有main方法就一定不可以, 当然如果有多个main方法结构都和标准的main方法一样,那就需要在发布应用时指定哪个类 才是主类从而让JVM能够找到这个类及其中的main方法执行调用从而运行此应用程序。 对于Java中所有类是不是平等的任何官方和权威文档中没有给出定义,但是从Java面向对象 的设计概念而言,任何类都可以根据实际情况决定是否设置与其他类进行关联,从而使用 目标类的功能,因此某些程序为了达到某个目的,一个类中包含主类的对象引用是很正常的, 其一目的可能就是为了调用主类中的其他方法,当然main方法可以直接通过主类名称调用,因 为它是静态的。 至于你将生活中的火车头是动力而其他列车箱是附属于车头的这个现象来与你描述的其他类中 包含主类进行相比当然是不合适。也可以这样说,Java应用中主类中main方法是起点,但是并不 说明其他类就附属于这个主类,很明显你对Java面向对象的概念还是理解的不够彻底。
不是 很多java文件为了方便单独测试和功能演示,都提供main来直接运行,让用户直接看效果。
你好,谢谢回复。 我明白,只要愿意,可以在任意类中加入main方法,从任何一个main方法启动程序。但是这么做的目的是什么?何不用火车头带车箱的思路,只给火车头加main方法。
但最终还是要有一个主类,从这个主类的main进入,来启动完整的软件,对吧? 其它附属的类,它们自己的main,只是管住本类自己的东西,对吧?
62,628
社区成员
307,259
社区内容
加载中
试试用AI创作助手写篇文章吧