1.3 “Hello World!”实例程序剖析
前面已经介绍了“Hello World!”程序及其编译和运行过程,本节介绍其工作原理。再次给出“Hello World!”程序的代码如下:
“Hello World!”程序包含三个基本组件:源码注释、HelloWorldApp类定义和main方法。下述说明有助于初步理解这些代码,深入理解还需等到读完本书之后。
1.3.1 源码注释
下面的黑体字指出了“Hello World!”程序的注释部分:
注释会被编译器忽略,但有助于程序员理解程序。Java程序语言支持三类注释格式。
1)/ text/——编译器会忽略/和/之间的所有文本。
2)/*documentation/——称为文档注释。如同编译器忽略/ /注释一样,它也会忽略这类注释。自动创建文档时javadoc工具要用到文档注释。关于javadoc的更多信息可参考《Javadoc Tool Documentation》。
3)//text——编译器会忽略从//到行末的所有文本。
1.3.2 HelloWorldApp类定义
下述黑体字为“Hello World!”程序的类定义部分:
如前所示,类定义的基本形式如下:
关键字class定义了一个名为name的类定义,每个类的代码都写在黑体的左右花括号之间。第2章简要介绍类,第4章会详细讨论类。本节只需知道每个应用程序都由类定义开始即可。
1.3.3 main方法
下述黑体字定义程序的main方法:
Java程序语言中,每个应用程序都必须包含一个main方法,其形式如下:
修饰符public和static的次序无关紧要,可以是public static或static public。通常约定使用public static,如上述例子所示。参数可以任意命名,但大多数程序员会选择args或argv。
main方法与C和C++中的main函数类似,它是应用程序的入口,随后才能调用程序所需的其他方法。main方法只接受一类参数:String类型的数组。
运行时系统就是通过该数组将消息传送给应用程序的,例子如下:
数组中的每个字符串都称作命令行参数。通过命令行参数,用户可以不重新编译应用程序就能改变其操作。例如,用户可以使用下述命令行参数指定排序程序按照降序排序数据:
“Hello World!”应用程序忽略了命令行参数,但要注意这些参数是存在的。最后看下述命令:
该命令使用核心库的System类在标准输出中显示“Hello World!”消息。后续章节将会讨论该类库(通常称为应用程序接口或API)的部分内容。