程序结构的必要元素如下:
一个Java程序包含一系列的类。
·每个程序中至少有一个类,也可以有多个类。
·每个类的程序代码存放在一个单独的文件中,其文件名必须与内部定义的类名相同。
·Java源文件必须使用扩展名。java.比如类Hat的文件名为Hat.java, BaseballPlayer类的文件名为BaseballPlayer_java
由几个文件组成的一个典型程序如下所示。
很显然,这个程序主要是针对服装的,5个类中有4个类用来描述服饰。每一个源文件都包含一个类定义,组成这个程序的文件被存储在同一个目录中。程序的源文件将包含需要的全部代码,但是这并不意味着所有事物都已包含在程序中。除此之外,还有在前面提到的Java标准类库中引用的代码,所以让我们来看一看Java标准类库的用途。
Java类库
java中的库是一个类集,其中的类提供了常用的相关功能,它们可以在程序中直接使用。java类库为你提供了大量引人注目的内容,其中一些主要是为运行你的程序提供服务,另外一些则便于你更加容易地编写程序。标准类库覆盖了很广泛的范围,在这里我们不可能很详尽地进行讨论,在本书中我们只讲述如何应用它所提供的功能。
因为类库是一个类集,所以它以一组文件的形式存储,每个文件都包含一个类定义。所有类按其相关性被分成若干个组,我们将这些组称为包(package)每个包都存储在一个独立的目录中,包中的类可以访问同一包中的其他类,而有可能不能访问另一个包中的类。有关这点我们将在第5章中进行详细的论述。
包的名称以这个包所属类的存储路径为基础。例如,包java.lang中的类被存储在目录路径java\lang中(或在Unix的java/lang中).这个路径与一个特定的目录有关,此目录可被执行代码的3ava运行环境自动识别。为了在不同的地方重复使用有关的类,你也可以建立包括自定义类的包。
JDK包含的标准包数量不断增长,我最后一次统计的结果大约为60个包。其中有一些包使用得非常频繁,如下表所示。
包的名字 java.lang
描述 这些类支持基本语言的特征,其中包括处理数组和串的类。该包中的类在程序中被设定为默认有效,它们由程序自动地加载。
我们看一下Java程序是如何工作的。,你可以使用最喜欢的文本编辑器来编辑这个程序代码,假如你有附带编辑器的Java开发系统,也可以使用它将这个例子的代码输入进去。输入代码后,使用类名再加上扩展名java作为文件名,将其保存起来。例如,文件名为OurFristProgram.java程序代码如下所示:
我们将这个程序命名为OurFirstProgram,它由一个类定义组成在类定义中只包含一个方法main()第一行是对方法main()的定义,它的格式定义总是如下所示:
这条语句有何功能?让我们从左至右逐项分析一下:
Public static void main(String[ ] args)
方法的代码出现在一对大括号内,其内容只有一条可执行语句:
System.out.println(‘Krakatoa,EAST of Java??’)
System是一个标准类名,它包括变量和支持从键盘输入和将字符输出到显示器上的方法。因为它包含在java.lang包中,所以它总是可以用简单的类名sytem来存取。
对象0ut表示标准的输出流,即你的显示屏幕,它是System类的一个数据成员。这个成员out是System类的一个特殊成员,如同方法main(),在我们的0urFirstProgram类中也是静态的(static ).这意味着即使没有System类型的对象,out也存在于程序中。使用类名System和用句号分开的成员名out组成的名字System.out对成员out进行引用。
语句最右边的内容println("Krakatoa,EAST of Jave??")被称为println()方法,这是一个属于out对象的方法,其功能将括号内的文本串输出到显示器。这说明了一种调用类方法的途径,即对象名后紧跟一个方法名,之间用句点分开。跟在方法名后面括号中的内容,是执行方法时需要传递给它的信息。例如,在println()中,需要将输出到屏幕上的文本串传递给它。
最后,出现在方法定义中的关键词public、static和void,可被简要地解释为程序代码的知识,但是如果现在你对此还不是很清楚,请不要担心。我们在以后的章节会详细地进行介绍。
你可以使用JDK编译器对这个程序进行编译,命令为:
java ourFistprogrm.java
并且只要你编译成功,就可以执行它,其命令为;
java ourFistprogrm
当你运行它时,将显示文本:
Kraxatoa EAst of JAVA??