《Java基础培训教程摘抄6313.docx》由会员分享,可在线阅读,更多相关《Java基础培训教程摘抄6313.docx(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java基础培训教程老虎工作室 沈伯青 编著人民邮电出版社第二章 运运行环境境安装与与测试P5 JJavaa不进提提供了一一个运行行环境,而而且还提提供了一一个免费费的Jaava软软件开发发工具集集JSDDK(JJavaa Sooftwwaree Deevellopmmentt Kiit),有有了这个个工具集集就可以以在Jaava标标准平台台(J22SE)上上进行JJavaa代码程程序的开开发。JJSDKK最初被被成为JJavaa Deevellopmmentt Kiit(JJDK),最最开始发发行的版版本是11.1,后后来随着着Javva的发发展,JJSDKK 的版版本逐渐渐增加,有有了1.
2、2版本本、1.3版本本等,目目前已经经升级到到1.44版本。在在Javva中,统统一称11.2版版本或更更高的版版本为JJavaa 2。JJSDKK包括生生成Jaava中中最基本本的小应应用程序序和应用用程序所所需要的的所有工工具和标标准Jaava类类库。Java平平台分为为三种,他他包括JJavaa标准平平台(JJ2SEE,Jaava 2 PPlattforrm SStanndarrd EEdittionn)、JJavaa企业级级平台(JJ2EEE,Jaava 2 PPlattforrm EEnteerprrisee Edditiion)和和Javva小型型平台(JJ2MEE,Jaava 2
3、 PPlattforrm MMicrro EEdittionn),其其中J22EE和和J2MME平台台上的应应用实现现都是要要建立在在J2SSE平台台基础之之上的。P9 现现已将JJSDKK安装在在“D:JJSDKK14”目录下下,可以以根据路路径找到到该目录录并查看看该目录录中的内内容,如如图2-9所示示。可以看到目目录下有有5个子子目录分分别是“binn、deemo、iinclludee、jrre、llib”,以及及5个文文件。对对于初学学者来说说,需要要注意的的是“binn”目录和和“libb”目录下下的内容容。双击“biin”目录,发发现有223个后后缀名为为“.exxe”的实用用程序
4、。这这些都是是开发工工具库所所自带的的工具。对对于初学学者来说说血药了了解和掌掌握的是是8个工工具,见见表2-1。其其中读者者能够很很快遇到到并需要要掌握的的工具是是:Jaavacc、Jaava、AApplletvviewwer、JJavaadocc,其次次是Jaar,然然后是JJdb、JJavaap、JJavaah。对对于剩下下的155个工具具,读者者可以查查询相关关的帮助助文件。表2-1 JJSDKK的8种种主要工工具名称解释JavaccJava编编译器,将将Javva源文文件代码码转换成成Javva字节节代码,编编译后缀缀名为“.jaava”的根文文件,生生成一个个新的后后缀名为为“.c
5、llasss”的类文文件,其其文件名名和根文文件的文文件名相相同JavaJava编编译器,用用来执行行生成的的后缀名名为“.cllasss”的类文文件,即即执行JJavaa应用程程序自己己代码Appleetviieweer小应用程序序的Jaava浏浏览器,主主要是执执行后缀缀名为“.httml”或者是是“.httm”的文件件,这些些文件的的内容嵌嵌套着JJavaa小应用用程序类类JavaddocJava说说明工具具,根据据Javva源代代码及其其说明语语句生成成相关的的HTMML文档档,编程程者可以以很方便便的通过过HTMML文档档来了解解Javva源代代码的功功能、方方法及其其继承关关系Jd
6、bJava调调试器,可可以逐行行执行程程序、设设置断点点和检查查变量JavappJava反反汇编器器,显示示编译类类文件中中可访问问功能和和数据,同同时显示示字节代代码的含含义JarJava档档案文件件生成器器,用它它可以生生成的后后缀名为为“.jaar”文件,JJAR文文件可以以在一个个压缩文文件中发发布多个个Javva类和和资源,这这个资源源可以包包括哟GGIF图图片资源源、HTTML文文档资源源等Javabb头文件生成成器,产产生可以以调用的的Javva过程程的C过过程,也也可以建建立能被被Javva程序序调用的的C过程程的文件件头P10 虽然已已经安装装了JSSDK,也也同时安安装好了
7、了Javva运行行环境,但但是Jaava语语言是跨跨平台的的,无论论在什么么平台或或者操作作系统下下的文本本编辑器器里都可可以编写写“.jaava”代码,最最终都要要经过JJavaac编译译器将源源代码转转换成与与平台无无关的“.cllasss”字节代代码,这这是Jaava语语言编程程的一个个重要特特性,也也是其体体现出跨跨平台优优越性的的保证。本书中对对“.jaava”代码的的Javvac编编译器所所执行的的操作也也是在WWinddowss操作系系统中的的【命令令提示符符】窗口口下进行行的。【命命令提示示符】窗窗口下只只能执行行缺省的的DOSS命令,如如cd、ddir、ccleaar等,如如
8、果要执执行Jaavacc、Jaava、JJavaadocc等命令令,则需需要进行行额外的的环境变变量的设设置。表2-2 本本书常用用的基本本DOSS命令名称解释DirDOS查询询命令,用用来查询询所在目目录的具具体文件件信息等等cd用来进入某某一个文文件夹,其其中“”表示文文件夹名名称,“cd”和文件件夹名称称之间有有一个空空格cd.退出当前文文件夹目目录进入入上一级级目录,其其中“”表示当当前所在在的文件件夹名称称%:&转换盘符操操作,从从“%”盘符转转入到“&”盘符,其其中“%”“&”均为盘盘符,它它们一般般代表“C,DD,E”例如如“C:D”表示从从C盘转转到D盘盘P11设置置Patth
9、变量量:首先打开我我的电脑脑右键属属性高级级选项卡卡中的环环境变量量,找到到系统变变量分组组框中的的“Patth”系统变变量,保保持变量量名的“Patth”不变,在在变量值值的文本本编辑框框内的末末尾添加加“;D:JSSDK114bbin”的字样样,这样样就可以以在命令令提示符符窗口中中执行JJavaac、JJavaa、Jaavaddoc等等命令了了。提示:这里里假设JJSDKK已经安安装在DD盘的JJSDKK14目目录下,将将“binn”目录添添加到系系统变量量“Patth”中,确确保了“binn”目录下下的可执执行文件件可以在在命令提提示符窗窗口下运运行。只设置了PPathh环境变变量对运
10、运行所有有可执行行文件还还是不够够的,因因为在“.jaava”代码中中,还可可能引用用JSDDK缺省省的几个个Javva类包包,否则则用“Javvac编编译器”无法将将代码成成功编译译而生成成“.cllasss”类文件件,所以以Javva还要要利用另另一个环环境变量量CLLASSSPATTH。P12 添添加CLLASSSPATTH环境境变量:Java运运行环境境从“CLAASSPPATHH”环境变变量中寻寻找到要要执行的的Javva了。如如果设置置不当,则则可能遇遇到各种种因为找找不到指指定的类类而引起起的各种种错误。在环境变量量对话框框中单机机系统变变量分组组框的新新建按钮钮,新建建变量名名
11、为“CLAASSPPATHH”变量值值为“.;DD:JJSDKK14libbdtt.jaar;DD:JJSDKK14libbtooolss.jaar”的系统统变量。这这里需要要注意的的是变量量值中最最前面的的两个符符号:一一个点号号“.”和一个个分号“;”不能漏漏掉。P13 环环境测试试:在命令提示示符中输输入java verrsioon可以判定JJSDKK 版本本、jaava运运行环境境版本等等。除此此之外,还还可以输输入以下下命令:java hjar hjavaddoc hjavacc h来查询执行行程序的的相关参参数使用用方法。P14程序序测试:新建文本文文档输入入以下程程序,publi
12、ic cclasss ttesttHelllo puubliic sstattic voiid mmainn(Sttrinng aarg) Syysteem.oout.priintlln(Helllo,这是一一个测试试!);/中文状状态下输输入的分分号 /maain()/*teestHHelllo */将文件命名名为“tesstHeelloo.jaava”。保存存位置是是“E:proograam002ttesttHelllo.javva”。文件保存成成功之后后,在命命令提示示符窗口口中进入入到“E:proograam002”目录。输输入的命命令那个个依次为为:E:cd prrogrramcd
13、022这样就进入入了“E:proograam002”目录,在在次目录录下依次次输入如如下命令令:dirjavacc teestHHelllo.jjavaajava tesstHeelloodir这时会发现现目录下下多了一一个“tesstHeelloo.cllasss”文件,这这是Jaavacc编译器器将源代代码编译译成字节节代码生生成类文文件的结结果。显显示输出出的“Helllo,这这是一个个测试!”是Jaava编编译器直直接执行行Javva应用用程序字字节代码码的结果果。P16 JJavaa应用程程序流程程:一个Javva应用用程序首首先是经经过文本本编辑器器的编辑辑工作得得到Jaava源源
14、代码,源源代码经经过Jaavacc编译器器编译之之后产生生Javva类文文件,再再经Jaava编编译器编编译执行行得到输输出程序序。其中中Javvadooc执行行程序可可以对JJavaac源代代码进行行操作,生生成关于于Javvac源源代码的的说明文文档,这这种文档档是以HHTMLL格式输输出的;另外JJavaap执行行程序可可以对JJavaa类文件件进行操操作,得得到的是是对Jaava类类文件反反编译的的结果,同同时也看看到Jaava源源代码的的方法分分布情况况。P17 建建档应用用程序JJavaadocc:Javaddoc是是建档应应用程序序。它将将能源代代码自动动建档,这这样做的的好处是
15、是在源代代码进行行一定格格式的说说明之后后,可以以将这些些说明自自动传输输到HTTML文文件中,是是开发者者直接从从生成的的Javvadooc文档档中查找找到相关关类一集集相关类类的方法法、属性性变量。代代码程序序中的说说明字段段是需要要放在“/*”和“*/”之间的的,这样样Javvadooc编译译器才可可以识别别这些说说明字段段。/*这是是一个有有说明的的Javva应用用程序*/publiic cclasss ttesttNotteHeelloo /* *这这是teestNNoteeHelllo类类的主函函数,他他主要是是输出一一句话。 */ puubliic sstattic voiid
16、mmainn(Sttrinng aarg) Syysteem.oout.priintlln(Helllo,这是一一个有说说明的测测试!); /maain()/*ttesttNotteHeelloo*/将以上文字字生成文文档时,在在命令提提示符窗窗口“E:proograam002”目录下下需要输输入:javaddoc tesstNooteHHelllo.jjavaa这里不必先先将“tesstNooteHHelllo.jjavaa”文件通通过Jaavacc编译器器编译成成“tesstNooteHHelllo.cclasss”文件。最后输出了了10个个新的HHTMLL文件和和1个“pacckagge
17、-llistt”文件以以及1个个样式单单(CSSS)文文件,这这个CSSS文件件的作用用是包含含HTMML页面面的格式式信息。是是修饰或或者约束束HTMML文件件显示格格式的。打打开“tesstNooteHHelllo.hhtmll”文件,则则可以看看到代码码程序中中的文档档说明一一集次代代码类的的摘要信信息。P18 反反汇编器器Javvap: JJavaap工具具可以查查询任何何类,检检查类的的方法。它它只在类类文件也也就是“.cllasss”文件生生成之后后进行操操作,也也就是说说它操作作的对象象必须是是类文件件,仅接接受类名名,实际际操作是是在命令令提示符符窗口“E;proograam0
18、02”目录下下输入:javapp teestNNoteeHelllo得到的清单单信息为为:Compiiledd frrom tesstNooteHHelllo.jjavaapubliic cclasss ttesttNotteHeelloo exxtennds javva.llangg.Obbjecct puubliic ttesttNotteHeelloo(); puubliic sstattic voiid mmainn(jaava.lanng.SStriing);这里显示了了两个方方法,ttesttNotteHeelloo()和和maiin()。ttesttNotteHeelloo()成
19、成为缺省省的构造造函数,这这是一个个特殊的的方法,如如果在源源代码中中没有特特殊指定定该类的的构造方方法,则则这个没没有入口口参数的的缺省的的构造方方法将会会自动的的在Jaavapp中生成成,而mmainn()方方法是源源代码中中的。这这样通过过Javvap执执行程序序操作也也可以看看到源代代码的方方法构造造情况。Javapp也选用用“h”方法来来查询其其参数使使用方法法。当选选择参数数为“c”时:javapp c ttesttNotteHeelloo结果显示基基础的字字节代码码的序列列和方法法清单。Compiiledd frrom tesstNooteHHelllo.jjavaapublii
20、c cclasss ttesttNotteHeelloo exxtennds javva.llangg.Obbjecct puubliic ttesttNotteHeelloo();publiic sstattic voiid mmainn(jaava.lanng.SStriing);Methood ttesttNotteHeelloo() 0 aaloaad_00 1 iinvookesspecciall 11 4 rretuurnMethood vvoidd maain(javva.llangg.Sttrinng) 0 ggetsstattic 2 3 lldc 3 5 iinvookev
21、virttuall 44 8 rretuurn实际上这些些命令就就是经过过Javvap反反汇编生生成的源源代码,但但和真正正的“.jaava”源代码码有很大大的出入入,这是是因为将将字节代代码再转转换成源源代码必必然会有有损耗而而和实际际不符,但但大体表表现出源源代码中中方法的的具体信信息。因因为“.cllasss”类文件件无法用用一般的的文本编编辑器查查看,所所以使用用者在不不知道源源代码的的具体信信息时常常常采用用此方法法来了解解一个类类文件中中的信息息。第三章 面面向对象象和类的的概念P22 相相似对象象的抽象象称之为为类(CClasss),它它有着对对象的特特征:属属性和行行为。也也就
22、是说说,类是是相似或或者相同同对象的的一个抽抽象的集集合,这这个集合合包括了了一些对对象所共共有的性性质。另另一方面面,通过过类可以以获得一一个对象象,称之之为对象象的实例例(Innstaancee),一一个“类”就像是是一个压压制模型型的板子子,可以以做出许许许多多多类似但但独立的的个别对对象。因因此要使使用对象象,需要要首先建建立一个个类,再再通过“对象建建立”的动作作产生所所需对象象。而每每一个产产生的对对象就是是一个独独立的个个体,拥拥有自己己的状态态变量值值。P24 一一个类的的结构用用“修饰符符+cllasss+类名名”和一对对大括号号来描述述。例如如程序清清单3.1,类类的类体体
23、为:publiic cclasss vvehiiclee /*veehiccle*/类中定义的的4个属属性,它它们为“jouurneey、wwheeelNuum、lloaddNumm、drriveerSppeedd”和两个个方法vvehiiclee()和和driiverr()方方法。属属性的定定义用“修饰符符+数据据类型+声明变变量+分分号”来描述述,例如如:publiic ffloaat jjourrneyy;方法的定义义用“修饰符符+返回回标志+方法名名”和一对对小括号号来描述述,例如如:publiic vvoidd drriveerAtt(innt sspeeed) / ddrivver
24、AAt()其中属性定定义和方方法的定定义及其其实现都都应该放放在大括括号内,而而代码子子句的实实现都需需要放在在方法的的小括号号内,这这样就定定义了一一个类。值得注意的的是drriveerAtt()方方法,次次方法提提供了一一个入口口参数“speeed”,这是是为司机机向机动动车发布布命令留留下了入入口。当当司机调调用机动动车对象象要求以以某一速速度行驶驶时,将将调用ddrivverAAt()方方法。这这个方法法在判定定司机要要求的速速度小于于最大行行驶速度度之后指指定速度度进行行行驶,否否则将行行驶速度度定为440。if(sppeedd=660) drriveerSppeedd=400;el
25、se drriveerSppeedd=sppeedd;P25 程程序清单单3.22 “vehhiclleDrriveer.jjavaa”文本文文件publiic cclasss vvehiicleeDriiverr puubliic SStriing namme;/定义义司机的的名字/*vehiicleeDriiverr类构造造函数*/ puubliic vehhiclleDrriveer()name = TOMM;/veehiccleDDrivver() /*vehiicleeDriiverr类对象象的woork方方法*/publiic vvoidd woork() veehiccle v
26、= neew vvehiiclee();/生生成veehiccle类类的对象象v d.driiverrAt(445);/调调用v对对象所固固有的ddrivverAAt()方方法/woork()publiic sstattic voiid mmainn(Sttrinng aarr )/生生成ehhiclleDrriveer类的的对象vvd ehhiclleDrriveer vvd = neew eehiccleDDrivver(); vdd.woork(); /调调用vdd对象所所固有的的worrk()方方法/maain()/*vvehiicleeDriiverr*/“vehiicleeDrii
27、verr”类定义义了司机机姓名这这一属性性,并在在其构造造函数vvehiicleeDriiverr()方方法中设设定了司司机的名名字为“TOMM”,同时时还设定定了司机机的工作作行为方方法woork(),在在这个方方法中,首首先生成成了“vehhiclle”类的一一个对象象v,接接着这个个对象调调用了“vehhiclle”类的实实例所固固有的方方法drriveerAtt(),而而且还对对行驶的的速度进进行了赋赋值,用用来告诉诉机动车车的对象象v需要要按照445单位位(单位位具体是是什么需需要根据据实际代代码所要要解决的的问题来来定)的的速度行行驶。这这就是在在worrk()方方法中完完成了对对
28、象的生生成,以以及对象象之间的的调用和和消息传传递。和“vehhiclle”类不同同,“vehhiclleDrriveer”类多了了一个静静态的mmainn()方方法。在在Javva编程程中规定定,当一一个类有有maiin()方方法时,它它就可以以被作为为应用程程序进行行使用。而而此例的的maiin()方方法中,生生成了一一个“vehhiclleDrriveer”类的对对象vdd,这一一操作使使用程序序中的代代码子句句:vehiccleDDrivver vd = nnew vehhiclleDrriveer();来完成。它它的含义义是指生生成了一一个名字字叫TOOM的司司机对象象。vdd.wo
29、ork()是是表明了了司机开开始工作作,工作作的内容容就是:以455单位的的速度驾驾驶一部部已经行行驶了1100.3kmm的四轮轮机动车车。P26 因因为只有有“vehhiclleDrriveer”类文件件有maain()方方法,所所以只能能执行它它一个。用用Javva工具具来执行行。命令令如下:java vehhiclleDrriveer(自己注:没有方方法maain()就就不能执执行)提示:如果果需要编编译一个个目录下下的多个个“.jaava”文件,可可以分别别用jaavacc编译器器进行编编译,也也可以采采用“javvac *.jjavaa”命令来来一起编编译,这这样节约约了时间间。如果
30、果“.jaava”文件很很多而且且代码编编写错误误可能会会比较多多,则不不提倡用用此种方方法,因因为这样样可能会会产生很很多编译译错误信信息,反反而影响响了效率率。P27 在在Javva术语语中,祖祖先称之之为“超类”,而子子孙称之之为“子类”。“超类”是“子类”的子集集。P29 如如果要调调用一个个对象的的方法,JJavaa解释程程序会自自动检查查定义该该对象的的类中的的方法,如如果该类类有这个个方法,则则Javva解释释程序会会自动调调用它。如如果在这这个类中中没有找找到指定定的方法法,则JJavaa解释器器会自动动寻找该该类的超超类中的的方法,依依此类推推,直到到找到这这个方法法调用它它
31、。如果果查找所所有的关关于该类类的超类类而最终终也没找找到这个个方法,JJavaa解释器器才会报报告找不不到该方方法。查查找方法法的顺序序是从底底层到顶顶层,也也就是说说按照从从子类到到超类顺顺序的。P30 接接口:尽管单重继继承比较较简单好好用,而而且也使使我们比比较容易易理解和和设计类类之间以以及类所所实现的的功能之之间的关关系。然然而,它它也有一一定的限限制,特特别是当当需要从从类层次次结构的的不同分分支重复复类似特特性的时时候,JJavaa通过接接口解决决了这一一问题。Java中中的接口口(Innterrfacce)比比类更抽抽象。它它只定义义了一些些公用的的行为或或操作而而无任何何的
32、实现现。而这这类的行行为或操操作,可可被称为为抽象方方法(AAbsttracct MMethhod)。因因此任何何的类,只只要它需需要皆可可直接加加入其所所需的IInteerfaace。同同时一个个类虽然然仅可继继承一个个超类,但但它却可可实现多多个接口口,而这这样的方方法在JJavaa的程序序实现里里扮演了了一个相相当重要要的角色色。一个超类AA有两个个子类分分别是CC和D。其其中C有有着C11和C22两种特特性,而而D有着着D1和和D2两两种特性性。现在在想创建建一个新新的类EE,它有有C的CC1属性性和D的的D1属属性,因因为Jaava是是采用单单重继承承的,而而且C和和D是两两个不同同
33、的分支支,所以以不可能能像多重重继承那那样用EE来同时时继承CC和D。接接口的出出现可以以解决这这个问题题。这种种解决方方法之一一就是创创建一个个接口来来定义CC1和CC2的行行为,然然后在创创建一个个类来实实现这个个接口从从而生成成一个新新的类。可以看出接接口的出出现是对对类的一一个有效效补充,两两者几乎乎可以同同等对待待,它们们之间的的差别就就在于接接口不能能像类那那样产生生实例。P31 接接口的创创建:程序清单33.4 “E.jjavaa”文本文文件publiic iinteerfaace Epubliic sstattic finnal intt E11 = 1000; /E11属性p
34、ubliic vvoidd C11(); /C1行行为方法法publiic vvoidd D11(); /D1行行为方法法/*EE*/程序清单33.4中中定义了了E接口口,它和和定义一一个类很很相似,只只是在定定义方法法之后没没有方法法的具体体实现操操作,而而是以一一个分号号就结束束了定义义。实际际上这就就是进行行了接口口的行为为方法的的声明。接接口没有有maiin()方方法,也也不能生生成新的的实例,但但是它编编写之后后也是保保存成“.jaava”文件。保保存的文文件名和和接口名名保持一一致。在在通过jjavaac编译译器编译译之后也也生成“.cllasss”文件,这这一点也也和类相相似。P
35、31 接接口的扩扩展;接口的扩展展也采用用关键字字“exttendds”来进行行实现。所所以假设设创建一一个F接接口,它它是继承承E接口口的。则则可以用用以下代代码来声声明。publiic iinteerfaace F eexteendss E/接接口F的的内容 如果需要创创建一个个G接口口,它是是分别继继承E接接口和接接口的,则则可以用用以下代代码来声声明。publiic iinteerfaace G eexteendss E,FF/接接口G的的内容在多重继承承中被继继承的父父类接口口之间用用逗号隔隔开。P32 接接口的实实现:使用接口来来定义新新的类,需需要用“impplemmentts”
36、来完成成。例如如编写一一个Ecclasss类,它它有C11行为方方法和DD1行为为方法,则则只要实实现E接接口就可可以了。EEclaass类类程序见见程序清清单3.5.程序清单33.5 “Ecllasss.jaava”文本文文件publiic cclasss EEclaass impplemmentts EEpubliic vvoidd C11()/实实现C11行为方方法 Syysteem.oout.priintlln(C1方方法实现现);/C11()publiic vvoidd D11()/实实现D11行为方方法 Syysteem.oout.priintlln(D1方方法实现现);/D11(
37、)/*EEclaass*/代码“puubliic cclasss EEclaass impplemmentts EE”不仅声声明了一一个类EEclaass,同同时还声声明这个个类要实实现E接接口,这这里用到到了关键键字“impplemmentts”,而且且在这个个类中重重写了CC1()和和D1()两两个方法法,编写写了代码码进行了了实现。这这样就完完成了EEclaass类类的创建建工作。这这个类可可以被其其他子类类所继承承,并且且也可以以生成这这个类的的对象。提示:读者者也许会会认为可可以直接接编写EEclaass类类而不用用实现接接口,这这样自然然省去了了接口的的定义,但但是在实实际应用用中
38、,接接口恰恰恰是非常常有用的的,在接接口中会会定义很很多方法法,不同同的类可可以按照照自身的的性质继继承接口口,各取取所需,实实现不同同的方法法,这样样编写出出的类集集合的层层次才会会更加清清楚,提提高效率率。一个要编写写的类可可以实现现多个接接口,但但是要确确保所有有接口的的方法都都被实现现,尽管管有些接接口的方方法不需需要,也也要编写写一个没没有代码码的空方方法进行行实现。例例如Ecclasss类中中就需要要将E接接口中声声明的方方法一一一实现,如如果缺少少了E11()方方法或者者是D11()方方法,EEclaass类类均不能能编译成成功。另另外在实实现接口口中定义义的类之之后,所所编写的
39、的类也可可以编写写自己的的方法。例例如编写写一个EEtottalCClasss类,这这个类不不但实现现了E接接口和MM接口,同同时也有有自己的的方法EE1()。程程序清单单3.66给出了了M接口口的定义义,程序序清单33.7给给出了完完整的EEtottalCClasss类的的定义。程序清单33.6 “M.jjavaa”文本文文件publiic cclasss EEtottalCClasss iimpllemeentss E,MMpubliic vvoidd C11()/实实现C接接口C11行为方方法Systeem.oout.priintlln(C接口口C1行行为方法法实现);/C11()pub
40、liic vvoidd D11()/实实现D接接口D11行为方方法 Syysteem.oout.priintlln(D接口口D1行行为方法法实现);/D11()publiic vvoidd M11()/实实现M接接口M11行为方方法 Syysteem.oout.priintlln(M接口口M1行行为方法法实现);/M11()publiic vvoidd E11()/自自身的方方法实现现 Syysteem.oout.priintlln(自身的的方法实实现);/E11()publiic sstattic voiid mmainn(Sttrinng aa ) EttotaalCllasss e =
41、nnew EtootallClaass(); e.C1(); e.D1();e.M1();e.E1();/maain()/*EEtottalCClasss*/程序清单33.7中中用代码码“pubblicc cllasss EttotaalCllasss immpleemennts E,MM”完成了了“EtootallClaass”类的声声明,同同时也声声明它要要实现EE接口和和M接口口,多个个接口中中用逗号号隔开。第4章 JJavaa语言基基础P35 变变量的定定义包括括变量名名、变量量类型和和作用域域几个部部分。P36 变变量的作作用域是是指一个个变量可可以被访访问的代代码程序序段。声声明一
42、个个变量的的同时也也就指明明了变量量的作用用域。按按作用域域来分,变变量可以以有下面面几种:局部变变量、类类变量、方方法参数数、例外外处理参参数。每每一种变变量都有有其一定定的应用用场合和和作用域域。a局部变量量在方法法或方法法的一块块代码中中声明,它它的作用用域为它它所在的的代码块块,即整整个方法法或方法法中的某某块代码码。b类变量是是在类的的开始声声明中创创立,而而不在类类的某个个方法中中声明,因因此它的的作用域域是整个个类。c方法参数数传递给给方法,它它的作用用域就是是这个方方法。d例外处理理参数传传递给例例外处理理代码,它它的作用用域就是是例外处处理部分分。P36 SStriing表表
43、示字符符型常量量。P37 局局部变量量在创建建之后必必须进行行变量赋赋值,否否则程序序将无法法编译,所所以给局局部变量量赋值是是编程者者一个良良好的习习惯。这这种习惯惯的延伸伸是给类类变量进进行初始始值赋值值,尽管管有时候候类变量量对初始始值赋值值不是那那么重要要。P37 常常量:常量是一种种特殊的的变量,所所以它的的声明是是和变量量的声明明一致的的,只是是需要在在变量的的声明类类型前加加“finnal”关键字字来表明明此变量量是一个个常量,同同时一个个常量需需要进行行初始值值的确定定。例如如创建数数学公式式中的圆圆周率这这一常量量。finall dooublle PPI = 3.141159
44、226;常量的名称称一般都都是大写写的,例例如圆周周率一般般用大写写“PI”而不用用小写的的“pi”。但是是这并不不是必须须的,这这只是一一个良好好的Jaava编编程习惯惯,看到到全部都都是大写写的变量量的时候候会想到到这可能能是一个个常量,从从而使程程序更加加的容易易被理解解。P38 基基本数据据类型:整型变量的的类型有有bytte、sshorrt、iint和和lonng 4种。iint类类型是最最常使用用的一种种整数类类型。它它所表示示的数据据范围为为64位位处理器器。但对对于大型型计算,常常会遇到到很大的的整数,超超出innt类所所表示的的范围,这这时要使使用loong类类型。由由于不同
45、同的机器器对于多多字节数数据的存存储方式式不同,可可能是低低字节向向高字节节存储,也也可能是是从高字字节向低低字节存存储,这这样,在在分析网网络协议议或文件件格时,为为了解决决不同机机器上的的字节存存储顺序序问题,用用bytte类型型来表示示数据是是合适的的。而通通常情况况下,由由于其表表示的数数据范围围很小,容容易造成成溢出,应应避免使使用。sshorrt类型型则很少少使用,它它限制数数据的存存储为先先高字节节,后低低字节,这这样在某某些机器器中会出出错。实实际中使使用哪一一个数据据类型完完全取决决于整数数的实际际大小,恰恰当的选选取数据据类型可可以节省省空间,提提高程序序的运行行效率。实数型数据据类型有有flooat和和douublee两种,它它们分别别代表着着单精度度类型和和双精度度类型。char字字符型数数据类型型用于存存储单个个字符,例例如字母母、数字字、标点点符号和和其他符符号。booleean布布尔型数数据类型型用于存存放trrue或或者faalsee关键字字。以上8种数数据类型型为Jaava语语言中基基本的数数据类型型。同时时Javva中还还有一些些诸如CCharr和Boooleean的的类,它它们的拼拼写和基基本的数数据类型型基本一一致,只只是首写写字母大大小写不不
限制150内