谈到这个问题,不得不谈到两个概念:编译型语言、解释型语言
编译型语言:将整个文件编译后再进行执行,为了让操作系统在执行的时候明确知道一个程序的入口(起点),必须认为设置main函数,来告诉操作系统我们应该从哪一行开始跑起来
解释型语言:将文件翻译成中间代码后执行,但是是从上往下翻译一行、执行一行,所以对操作系统来说,没有必要指定一个main函数来
提到Java,说它既是编译型语言,又是解释型语言。在这里,Java因为必须要有main函数作为函数的入口,和python不一样,所以又可以将他看作编译型语言。