下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
java程序的规范
1、java源程序结构
importjavawork,newcentury;/*告诉编译器本程序中用到用户自
定义
的包javawork,newcentury*/
pubIiccIassHeIloWorIdApp{......}/*公共类HeiloWorIdApp
的定义,
名字与文件名相同*/
cIassTheFirstClass{.....}//第一个普通类TheFirstClass的
定义
cIassTheSecondClass{......}//第二个普通类TheSecondCIass
的定义
......〃其它普通类的定义
interfaceTheFirstInterface{......)/*第一个接口
TheFirstInterface的定义*/
......〃其它接口定义
package语句:由于java编译器为每个类生成一个字节码文件,
且文件名与类名相同,因此同名的类有可能发生冲突。为了解决这一
问题,java提供包来管理类名空间,包实际提供了一种命名机制和可
见性限制机制。而在java的系统类库中,把功能相似的类放到一个包
(package)中,例如所有的图形界面的类都放在java,awt这个包中,
与网络功能有关的类都放到J这个包中。用户自己编写的类
(指.class文件)也应该按照功能放在由程序员自己命名的相应的包中,
例如上例中的javawork,heIIoworId就是一个包。包在实际的实现过
程中是与文件系统相对应的,例如javawork,heIIoworId所对应的目
录是pathjavaworkheIloworld,而path是在编译该源程序时指定的。
比如在命令行中编译上述HeiloWorldApp.java文件时,可以在命令行
中敲入"javac-df:javaprojectHelloWorIdApp.java",则编译生
成的HelloWorIdApp.cIass文件将放在目录
f:javaprojectjavaworkheIIoworId目录下面,此时f:javaprojcet相
当于path。但是如果在编译时不指定path,则生成的.cIass文件将放
在编译时命令行所在的当前目录下面。比如在命令行目录
f:javaproject下敲入编译命令"javacHeiloWorldApp.java",则生成
的'HeiloWorIdApp.cIass文件将放在目录f:javaproject下面,此时
的package语句相当于没起作用。
但是,如果程序中包含了package语句,则在运行时就必须包含包
名。例如,HeIIoWorIdApp.java程序的第一行语句是:packagep1.p2;
编译的时候在命令行下输入"javac-dpathHeIIoWorIdApp.java",
则HeiloWorIdApp.cIass将放在目录pathplp2的F面,这时候运行该
程序时有两种方式:
第一种:在命令行下的path目录下输入字符"java
p1.p2.HeIIoWorIdApp"°
第二种:在环境变量classpath中加入目录path,则运行时在任
何目录下输入"javap1.p2.HeIIoWorIdApp"即可。
import语句:如果在源程序中用到了除java,lang这个包以外的
类,无论是系统的类还是自己定义的包中的类,都必须用import语句
标识,以通知编译器在编译时找到相应的类文件。例如上例中的
java,awt是系统的包,而javawork,newcentury是用户自定义的包。
比如程序中用到了类Button,而Button是属于包java,awt的,在编
译时编译器将从目录classpathjavaawt中去寻找类Button,
classpath是事先设定的环境变量,比如可以设为:
classpath=.;d:jdk1.3libocIasspath也可以称为类路径,需要提醒
大家注意的是,在classpath中往往包含多个路径,用分号隔开。例
如classpath=.;d:jdk1.3lib中的第一个分号之前"的路径是一个点,
表示当前目录,分号后面的路径是d:jdk1.3lib,表示系统的标准类库
目录。在编译过程中寻找类时,先从环境变量classpath的第一个目
录开始往下找,比如先从当前目录往下找java.awt中的类Button时,
编译器找不着,然后从环境变量classpath的第二个目录开始往下找,
就是从系统的标准类库目录d:jdk1.3lib开始往下找java,awt的
Button这个类,最后就找到了。如果要从一个包中引入多个类则在包
名后加上”表示。
如果程序中用到了用户自己定义的包中的类,假如在上面程序中要
用到javawork,newcentury包中的类HeiloWorIdApp,而包
javawork,newcentury所对应的目录是f:javaprojectjavawork
ewcentury,cIasspath仍旧是cIasspath=.;d:jdk1.3Iib,则编译器
在编译时将首先从当前目录寻找包javawork,newcentury,结果是没有
找到;然后又从环境变量classpath的第二个目录d:jdk1.3lib开始往
下找,但是仍然没有找到。原因在于包javawork,newcentury是放在
目录f:javaproject下面。因此,需要重新设定环境变量cIasspath,
设为classpath=.;d:jdk1.3Iib;f:javaproject。所以编译器从
f:javaproject开始找包javawork,newcentury就可以我<到。
源文件的命名规则:如果在源程序中包含有公共类的定义,则该源
文件名必须与该公共类的名字完全一致,字母的大小写都必须一样。
这是java语言的一个严格的规定,如果不遵守,在编译时就会出错。
因此,在一个java源程序中至多只能有一个公共类的定义。如果源程
序中不包含公共类的定义,则该文件名可以任意取名。如果在一个源
程序中有多个类定义,则在编译时将为每个类生成一个.class文件。
2、java编程规范
软件开发是一个集体协作的过程,程序员之间的代码是经常要进行
交换阅读的,因此,Java源程序有一些约定成俗的命名规定,主要目
的是为了提高java程序的可读性。
包名:包名是全小写的名词,中间可以由点分隔开,例如:
java.awt.event;
类名:首字母大写,通常由多个单词合成一个类名,要求每个单词
的首字母也要大写,例如classHeiloWorIdApp;
接口名:命名规则与类名相同,例如interfaceCollection;
方法名:往往由多个单词合成,第一个单词通常为动词,首字母小
写,中间的每个单词的首字母都
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 辽宁省盘锦市2025-2026学年初三中考语文试题系列模拟卷(1)含解析
- 四川省自贡市富顺二中学2026届初三第一次联考语文试题(文理)试题含解析
- 四川省三台县2025-2026学年初三下学期一诊模拟考试语文试题含解析
- 新疆巴州三中学2025-2026学年初三第一次适应性测试英语试题含解析
- 四川省乐山四中学2025-2026学年初三下学期期末学分认定考试语文试题试卷含解析
- 重庆市巫溪县2025-2026学年初三英语试题第二次统测试卷含解析
- 江苏省金坛市尧塘中学2026年高中毕业班“最后一卷”试卷语文试题含解析
- 产科专业质控指标解读及数据提取路径
- 屠宰场承包合同
- 2026年贸易确认合同(1篇)
- DZ/T 0452.2-2023 稀土矿石化学分析方法 第2部分:铝、铁、钙、镁、钾、钠、钛、锰、磷及15个稀土元素含量测定 混合酸分解―电感耦合等离子体原子发射光谱法(正式版)
- 四川省雅安市2024年九年级中考一诊历史试卷
- 蜱虫病知识讲座
- (完整版)阀门流程工艺
- 腰椎间盘脱出伴坐骨神经痛的护理查房
- ATS子系统HMI工作站操作手册
- 年残疾人就业保障金相关政策精讲
- 达芬奇油画解读
- 环境微生物学课件 02第二章原核生物
- 中日粗糙度对照表
- SMT炉后检查作业指导书V1.0
评论
0/150
提交评论