将main(String args [])放在代码底部的原因是什么?

Joo*_*oop 3 java program-entry-point

在我的教科书中,他们将主要功能放在代码示例的底部.作为一个传统的图书阅读器,我从第1行开始阅读.虽然我明白编码的控制流程与图书中的不同(从下到上,每行一行),我不明白为什么你会想要你的第一个代码行不是程序的入口点.这有什么特别的原因吗?

Ray*_*oal 5

我不能代表作者,但我可以想到几个原因:

  1. 作者可能想强调课堂上的实际方法.实际上,很少有Java类甚至有main方法(小于1%).在一个类中重要的是它的对象如何表现; 也许这种main方法几乎是一种事后的想法或者很好的方法.

  2. Java受C编程语言的影响.虽然在Java中声明方法的顺序无关紧要,但在C语言中(至少在C的旧版本中),只能main在上面声明它们时调用函数main.所以人们要么使用原型,要么只是放在main底部.很多人出于习惯这样做,哦,我不知道,这潜意识地影响了他们的思想,他们将这一点带到了Java中.

但是你的感觉是入口点应该首先出现,并且这些功能应该相互呼叫"在页面下",这是很多人共享的.罗伯特C.马丁(鲍勃叔叔)说这是一件好事.

附录

我正在寻找鲍勃叔叔关于阅读这个页面的建议,这个或多或少被称为报纸隐喻.我从Martin的清洁代码书的书评中找到了这个片段:

...关于格式化代码的报纸比喻.这描述了将代码读成报纸文章的想法.在阅读更多详细信息之前,我们应该能够大致了解它如何在类顶部附近工作.

但是,你知道,我真的认为这是一种继承自C的传统(必须首先声明那些称为函数)或者认为强调自下而上,这main常常出现在Java的底层.