网站首页 语言 会计 电脑 医学 资格证 职场 文艺体育 范文
当前位置:书香门第 > 计算机 > java语言

计算机二级java程序规范考点复习

栏目: java语言 / 发布于: / 人气:5.99K

学习的过程是解决一个问题之后再去解决一个问题的过程,是由易到难,积少成多的一个过程。以下是本站小编整理的计算机二级java程序规范考点复习,欢迎学习!

计算机二级java程序规范考点复习

  .5 java程序规范

1.5.1 java源程序结构

import entury; /*告诉编译器本程序中用到用户自定义

的包entury*/

public class HelloWorldApp{......} /*公共类HelloWorldApp的定义,

名字与文件名相同*/

class TheFirstClass{......} //第一个普通类TheFirstClass的定义

class TheSecondClass{......} //第二个普通类TheSecondClass的定义

...... //其它普通类的定义

interface TheFirstInterface{......} /*第一个接口

TheFirstInterface的定义*/

...... //其它接口定义

package语句:由于java编译器为每个类生成一个字节码文件,且文件名与类名相同,因此同名的类有可能发生冲突。为了解决这一问题,java提供包来管理类名空间,包实际提供了一种命名机制和可见性限制机制。而在java的系统类库中,把功能相似的类放到一个包(package)中,例如所有的图形界面的类都放在这个包中,与网络功能有关的类都放到这个包中。用户自己编写的类(指s文件)也应该按照功能放在由程序员自己命名的相应的包中,例如上例中的oworld就是一个包。包在实际的实现过程中是与文件系统相对应的,例如oworld所对应的目录是pathjavaworkhelloworld,而path是在编译该源程序时指定的。比如在命令行中编译上述文件时,可以在命令行中敲入"javac -d f:javaproject Hello ",则编译生成的Hello s文件将放在目录f:javaprojectjavaworkhelloworld目录下面,此时f:javaprojcet相当于path。但是如果在编译时不指定path,则生成的s文件将放在编译时命令行所在的当前目录下面。比如在命令行目录f:javaproject下敲入编译命令"javac ",则生成的s文件将放在目录f:javaproject下面,此时的package语句相当于没起作用。

但是,如果程序中包含了package语句,则在运行时就必须包含包名。例如,程序的第一行语句是:package p1.p2;编译的时候在命令行下输入"javac -d path ",则s将放在目录pathp1p2的下面,这时候运行该程序时有两种方式:

第一种:在命令行下的path目录下输入字符"java oWorldApp"。

第二种:在环境变量classpath中加入目录path,则运行时在任何目录下输入"java oWorldApp"即可。

import语句:如果在源程序中用到了除这个包以外的类,无论是系统的类还是自己定义的包中的类,都必须用import语句标识,以通知编译器在编译时找到相应的类文件。例如上例中的是系统的包,而entury是用户自定义的`包。比如程序中用到了类Button,而Button是属于包的,在编译时编译器将从目录classpathjavaawt中去寻找类Button,classpath是事先设定的环境变量,比如可以设为:classpath=.;d:jdk1.3lib。classpath也可以称为类路径,需要提醒大家注意的是,在classpath中往往包含多个路径,用分号隔开。例如classpath=.;d:jdk1.3lib中的第一个分号之前的路径是一个点,表示当前目录,分号后面的路径是d:jdk1.3lib,表示系统的标准类库目录。在编译过程中寻找类时,先从环境变量classpath的第一个目录开始往下找,比如先从当前目录往下找中的类Button时,编译器找不着,然后从环境变量classpath的第二个目录开始往下找,就是从系统的标准类库目录d:jdk1.3lib开始往下找的Button这个类,最后就找到了。如果要从一个包中引入多个类则在包名后加上".*"表示。

如果程序中用到了用户自己定义的包中的类,假如在上面程序中要用到entury包中的类HelloWorldApp,而包entury所对应的目录是f:javaprojectjavaworknewcentury,classpath仍旧是classpath=.;d:jdk1.3lib,则编译器在编译时将首先从当前目录寻找包entury,结果是没有找到;然后又从环境变量classpath的第二个目录d:jdk1.3lib开始往下找,但是仍然没有找到。原因在于包entury是放在目录f:javaproject下面。因此,需要重新设定环境变量classpath,设为classpath=.;d:jdk1.3lib;f:javaproject 。所以编译器从f:javaproject开始找包entury就可以找到。

源文件的命名规则:如果在源程序中包含有公共类的定义,则该源文件名必须与该公共类的名字完全一致,字母的大小写都必须一样。这是java语言的一个严格的规定,如果不遵守,在编译时就会出错。因此,在一个java源程序中至多只能有一个公共类的定义。如果源程序中不包含公共类的定义,则该文件名可以任意取名。如果在一个源程序中有多个类定义,则在编译时将为每个类生成一个s文件。

  1.5.2 java编程规范

软件开发是一个集体协作的过程,程序员之间的代码是经常要进行交换阅读的,因此,java源程序有一些约定成俗的命名规定,主要目的是为了提高java程序的可读性。

包名:包名是全小写的名词,中间可以由点分隔开,例如:t;

类名:首字母大写,通常由多个单词合成一个类名,要求每个单词的首字母也要大写,例如class HelloWorldApp;

接口名:命名规则与类名相同,例如interface Collection;

方法名:往往由多个单词合成,第一个单词通常为动词,首字母小写,中间的每个单词的首字母都要大写,例如:balanceAccount, isButtonPressed;

变量名:全小写,一般为名词,例如:length;

常量名:基本数据类型的常量名为全大写,如果是由多个单词构成,可以用下划线隔开,例如:int YEAR, int WEEK_OF_MONTH;如果是对象类型的常量,则是大小写混合,由大写字母把单词隔开。