技术文档模板_第1页
技术文档模板_第2页
技术文档模板_第3页
技术文档模板_第4页
技术文档模板_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

公司Logo 内部文件:输入文件名和版本号JavaSE版本号:输入文件版本号颁布时间:输入颁布时间第 84 页 共 85 页目 录&文件版本说明2&参考资料2&手册目的2&声明2&名词定义和缩略语说明21输入第一章标题31.1输入第一章第一节标题31.1.1输入第一章第一节第一小节标题31.1.2输入第一章第一节第二小节标题31.2输入第一章第二节标题32输入第二章标题42.1输入第一章第一节标题42.2输入第一章第二节标题5表 格表 11 输入表格标题3表 12 输入表格标题3图 表图 11 输入图片名称4图 21 输入图片名称4& 文件版本说明表 1 版本说明版本发布时间修订章节作者对修订章节的描述从最近的一次修订开始& 参考资料1.2.& 手册目的& 声明& 名词定义和缩略语说明表 2 名词定义及缩略语说明序号缩写说明121 Java概述Java 语言是一门很优秀的语言,具有面向对象,与平台无关,安全,稳定和多线程等优良特性,是目前软件设计中极为健壮的编程语言.Java 语言不仅可以用来开发大型的应用程序,而且特别适合于Internet 的应用开发.Java 确确实实具备了”一旦写成处处可用”的特点,Java已成为网络时代最重要的语言之一.本章将对Java 语言做一个简单的介绍,并初步了解什么是Java 应用程序,什么是Java 小应用程序,有关的细节会在后续的章节中讨论.源于James Gosling 领导的绿色计划。1996年,Sun公司正式发布Java。Java语言解决了网络程序的安全、健全、平台无关、可移植等很多难题,1.1 关于Java的几个问题什么是Java,为什么学习Java,Java有哪些特点。1.1.1 Java是什么Java是一门计算机编程语言,它的语法规则与C+很相似,但是有避免了C+中的弊端,有自身的有点,如简单、可靠、可移植、高性能、多线程、动态性等。Java不仅是一种编程语言,还是一种计算机语言开发平台。Java包括Java虚拟机和Java应用程序界面。1.1.2 问什么要学习JavaJava有点多,涉猎面广。包括桌面级的开发,网络开发,和嵌入式开发等。1.2 搭建Java开发平台Java开发环境JDK 是整个Java的核心,包括了Java运行环境(JavaRuntimeEnvirnment),一堆Java工具和Java基础的类库 (rt.jar)。1.2.1 JDK 的下载和安装 JDK又叫做J2SE(Java2SDKStandardEdition),可以从Sun的Java网站上下载到。下载JDK后,双击下载的EXE文件,即可开始安装JDK。弹出许可证协议窗口后,单击“接受”按钮,显示下图:图 11 “自定义安装”窗口 选择要安装的Java组件和JDK文件的安装路径(可以采用默认安装)。单击“下一步”按钮即可开始安装,然后单击窗口中的“完成”按钮就完成了安装。1.2.2 配置JDK 安装完后,还需要配置JDK,以便于能够在命令提示符中运行JDK中的命令。配置JDK的操作步骤如下:(1) 鼠标右击“我的电脑”桌面图标,在弹出的菜单中选择“属性”“高级”“环境变量”命令,弹出“环境变量”窗口,对环境变量进行设置,如图1-2所示;(2) 单击“系统变量”选项组中的“新建”按钮,弹出如图1-3所示的“新建系统变量”窗口; 图 12 环境变量设置 图 13 新建系统变量(3) 在“变量名”文本框中输入“PATH”,在“变量值”文本框中输入“C:Program FilesJavajdk1.6.0_02bin;”,注意要以分号结尾。(4) 重复步骤(3)的操作,在“变量名”文本框中输入“CLASSPATH”,在“变量值”文本框中输入“C:Program FilesJavajdk1.6.0_02libtools.jar;”。单击“确定”按钮 。(5) 配置JDK完成后,检测配置正确与否。选择“开始”“运行”命令,弹出“运行”命令框,如图1-4所示。(6) 在“运行”命令框中输入“cmd”,进入命令提示符界面。在该界面中输入javac命令,如果出现如图1-5所示的结果,则表示JDK配置成功;否则,配置失败,需要重新配置。1.3 使用Eclipse开发1.3.1下载和安装Eclipse 可以通过Eclipse的官方网站来进行下载,也可以通过搜索引擎进行下载。1.3.2启动Eclipse 下载完成后,在Eclipse文件下有一个Eclipse.exe文件,双击该文件,就可以启动Eclipse。第一次启动时,会出现如图1-6所示的窗口。1-6 Eclipse程序路径第一次启动时“工作空间”文本框中显示的通常是C盘下的位置(本图是经过修改后的),这个位置可以自行设定。单击确定按钮后,弹出如图1-7所示的欢迎窗口。1-7 Eclipse欢迎窗口关闭欢迎窗口后,就会弹出正真用于开发的窗口,如图1-8所示。窗口基本分为5部分,最上面的是菜单栏,其中包括了Eclipse的所有开发工具。左边是项目结构区,会在其中显示一个项目的结构。中间是编码区,在其中编写Java的程序。右边是大纲区,其中显示一个程序的结构。最下面是提示区,最常见的是在下面输出结果和提示错误。1-8 Eclipse开发窗口1.3.2使用Eclipse开发Java程序(1) 选择菜单栏中“文件”“新建”“项目”命令,弹出如图1-9所示的“新建项目”窗口。(2) 选择“Java项目”选项,单击“下一步”按钮,弹出如图1-10所示的“新建Java项目”窗口。 图 19 “新建项目”窗口 图 110 “新建Java项目”窗口(3) 在“新建Java项目”窗口的“项目名”文本框中输入自己要创建的项目名,如“chap1”,单击“完成”按钮,这样就创建了一个名称为“chap1”的Java项目。此时就会在Eclipse开发窗口的项目结构区显示该项目,单击前面的加号,就会显示项目的结构,如图1-11所示。从项目结构图中可以看到,在Eclipse中导入JDK的类包,从而可以运行Java的程序。(4) 在“chap1”项目上右击,选择“新建”“类”命令,弹出1-12所示的“新建Java类”窗口。 图 111 项目结构 图 112 “新建Java类”窗口 在“新建Java类”窗口中,首先是填写包(不填则采用默认值)。其次在名称文本框输入“HelloWord”。然后在“想要创建哪些方法存根”勾选第一个复选框,即main方法。最后单击“完成”按钮,将会在编码区显示如下代码。图 113 自动生成代码(5) 创建程序的基本框架后,就可以添加功能程序代码。这个程序的功能是输出“HelloWord”信息,添加功能语句后的代码如下。图 114 添加功能语句(6) 完成Java程序的编写后,就可以编译和运行。选择菜单栏中的“运行”“运行方式”“Java运行程序”命令,将弹出1-15所示的“保存并启动”窗口。选择要运行的HelloWord.java程序,单击“确定”按钮,即可运行。运行结果如图1-16所示。图 115 “保存并启动”窗口 图 116 运行结果也可以通过单击工具栏中的按钮运行程序,方便快捷。 图 14 “运行”命令框 图 15 测试2 Java的基本语言2.1 .1 编码及注意事项图 21 Java编码及其注意事项2.1.2标识符标识符是程序员为自己定义的类,方法或者等起的名称,在Java语言中规定标识符是由大小写字母、数字、下划线(_)和美元符号($)组成的,但是不能以数字开头。例如 HelloWorld、Hello_World、$HellowWorld都是合法的标识符。555HelloWorld(以数字开头)¥HelloWorld(具有非法字符¥) 都是错误的,2.1.3 关键字1、访问修饰符关键字在HelloWorld程序中出现的第一个单词就是public,他就是一个访问修饰符的关键字。包括以下几类:n public:所修饰的类、方法和变量是公共的,其他类可以访问该关键字的类、方法和变量。n Protected:用于修饰方法和变量。这些方法和变量可以被同一个包中的类或者子类进行访问。n Private:同样修饰方法和变量。方法和变量只能由所在类进行访问。2、类、方法和变量修饰符关键字n class:告诉系统后面的单词是一个类名,从而定义一个类;n interface:告诉系统后面的单词是一个接口。n implements:让类实现接口。n extends:用于继承。n abstract:抽象修饰符n static:静态修饰符n new:实例化对象n 等后面要学的的关键字。java语言中与C+、C语言等有很多相同的地方,学过C语言的同学这一部分可以粗率的看一看。2.1.4 注释单行注释 /多行注释 /* */文档注释/* */2.2 Java的数据类型2.2.1逻辑类型常量true ,false.变量的定义使用关键字boolean 来定义逻辑变量boolean x; boolean tom;也可以一次定义几个boolean x,tom,jiafei,漂亮x,tom,jiafei,漂亮都是变量的名字.定义时也可以赋给初值boolean x=true,tom=false,漂亮=true,jiafei2.2.2整数类型(1) int 型使用关键字int 来定义int 型整型变量int xint tom_12也可以一次定义几个int x,tom,jiafei,x,tom,jafei,字.定义时也可以赋给初值int x= 12,tom=-1230,漂亮=9898,jiafei对于int 型变量,内存分配给4 个字节byte ,一个字节由8 位(bit)组成,4 个字节占32位(bit).bit 有两种状态,分别用来表示0,1.这样计算机就可以使用2 进制数来存储信息了,对于int x=7;内存存储状态如下 .最高位左边的第一位是符号位,用来区分正数或负数,正数使用原码表示,最高位是0.负数用补码表示,最高位是1,例如,int x=-8内存的存储状态的如下 .要得到-8 的补码,首先得到7 的原码,然后将7 的原码中的0 变成1,1 变成0 就是-8 的补码.因此,int 型变量的取值范围是-231231-1.(2) byte 型使用关键字byte 来定义byte 型整型变量byte x byte tom_12也可以一次定义几个byte x,tom,jiafei,漂亮x,tom,jafei,漂亮都是名字.定义时也可以赋给初值byte x= -12,tom=28,漂亮=98,jiafei注 对于 byte 型变量,内存分配给1 个字节,占8 位,因此b yte 型变量的取值范围是:-27-27-1.(3) short 型使用关键字short 来定义short 型整型变量short x short tom_12也可以一次定义几个short x,tom,jafei,x,tom,jafei,都是名字.定义时也可以赋给初值short x= 12,tom=1234,漂亮=9876,jiafei注 对于 short 型变量,内存分配给 2 个字节,占 16 位,因此s hort 型变量的取值范围是 -215-215-1.(4) long 型使用关键字long 来定义long 型整型变量long x long tom_12也可以一次定义几个long x,tom,jiafei,漂亮x,tom,jiafei,漂亮都是名字.定义时也可以赋给初值long x= 12,tom=1234,漂亮=9876,jiafei注 对于 long 型变量,内存分配给 8 个字节,占 64 位,因此 long 型变量的取值范围是 -263-263-字符类型 常量A b ? ! 9 好t , Java 使用unicode 字符集,所以常量共有65535 个._ 变量的定义 使用关键字char 来定义字符变量char x, char tom_12也可以一次定义几个char x,tom,jafei,漂亮x,tom,jafei,漂亮都是变量名字.定义时也可以赋给初值char x= A ,tom= 家 ,漂亮= 假 ,jiafeichar 型变量,内存分配给2 个字节,占16 位,最高为不用来表示符号,没有负数的char.char型变量的取值范围是065536.对于char x=a;那么内存x 中存储的是97,97 是字符a 在unicode 表中的排序位置.因此,允许将上面的语句写成char x=97;要观察一个字符在unicode 表中的顺序位置,必须使用int 类型显示转换,如(int)a.不可以使用short 型转换,因为char 的最高位不是符号位.如果要得到一个065536 之间的数所代表的unicode 表中相应位置上的字符也必须使用char 型显示转换.2.2.3浮点类型(1) float 型常量123.5439f,12389.987F,123.0f,2e40f (2 乘10 的40 次方),科学计数法变量的定义使用关键字float 来定义float 型变量float x float tom_12也可以一次定义几个float x,tom,jiafei,漂亮x,tom,jiafei,漂亮都是名字.定义时也可以赋给初值float x= 12.76f,tom=1234.987f,漂亮=9876.0f,jiafei注 对于 float 型变量,内存分配给 4 个字节,占 32 位,float 型变量的取值范围大约是 10-38 1038 ,-1038 10-38.(2) double 型常量12389.5439d d 可以省略,.987,123.0,6e-140 (6 乘10 的-140 次方),科学计数法变量的定义使用关键字double 来定义double 型变量double x double tom_12也可以一次定义几个double x,tom,jiafei,漂亮x,tom,jiafei,漂亮都是名字.定义时也可以赋给初值double x= 12.76,tom=.987,漂亮=9876.098d,jiafei注 double 型变量,内存分配给 8 个字节,占6 4 位,double 型变量的取值范围大约是(10-308 10308 )只需掌握定义float、double类型变量的定义方法 2.3基本数据类型之间的转换在混合运算时,整型、字符型、浮点型互相转换l Byte/short/char/-int -long-float-doublel Byte/short/char/ 之间不互相转换,他们在运算时都会转换为intl 表数范围大的类型转换为表数范围小的的数据类型时,需要进行强制类型转换l 多种类型的数据混合运算时,会自动将所有的类型转换为最大表数范围说我那种类型之后在运算,当把在级别低的变量的值赋给级别高的变量时,系统自动完成数据类型的转换.例如,float x=100;如果输出x 的值,结果将是100.0例如int x=50;float y;y=x;如果输出y 的值,结果将是50.0.当把在级别高的变量的值赋给级别底变量时,必须使用强制类型转换运算.显示转换的格式,例如,类型名 要转换的值int x=(int)23.89;long y=(long)34.98F;如果输出x,y 的值将是23 和34,强制转换运算可能导致精度的损失.2.4操作符2.4.1位操作符我们知道整型数据在内存中以2 进制的形式表示,比如一个int 型的变量在内存中占4个字节共32 位,int 型数据7 的2 进制表示是 左面最高位是符号位,最高位是0 表示正数,1 表示负数.负数采用补码表示,比如-8 的进制是 这样我们就可以对整型数据进行按位的运算,比如,对两个整型数据对应的位进行运算得到一个新的整型数据。(1) ”按位与”运算符“&”是双目运算符,对两个整型数据a,b 按位进行运算,运算结果是一个整型数据c.运算法则是如果a,b 两个数据对应位都是1,则c 的该位是1,否则是0.如果b 的精度高于a,那么结果c 的精度和b 相同.例如a b &c (2) ”按位或”运算符“|”是双目运算符.对两个整型数据a,b 按位进行运算,运算结果是一个整型数据c.运算法则是如果a,b 两个数据对应位都是0,则c 的该位是0,否则是1.如果b 的精度高于与a,那么结果c 的精度和b 相同.(3) ”按位非”运算符“”是单目运算符.对一个整型数据a 按位进行运算,运算结果是一个整型数据c.运算法则是如果a 对应位都是0,则c 的该位是1,否则是1. “按位异或”运算符(4) ”是双目运算符.对两个整型数据a,b 按位进行运算,运算结果是一个整型数据c.运算法则是如果a,b 两个数据对应位相同,则c 的该位是0,否则是1.如果b 的精度高于与a,那么结果c 的精度和b 相同.由异或运算法则可知aa=0,a0=a.因此,如果c=ab,那么a=cb,即用同一个数对数a 进行两次”异或”运算的结果又是数a.取反:1取反=0,0取反=1;异或(两者相等即为0;两者相异即为1):1异或1=0,0异或0=0,0异或1=1,1异或0=1。注:位操作符通常情况下用不到,但需要理解其基本原理。2.4.2移位操作符注:移位操作符只用于byte/short/char/int/long类型。2.4.3三元操作符2.4.4字符串链接操作符2.4.5操作符优先级3 面向对象Java是一门面向对象的语言,其重要的一个思想是“万物皆对象”。而类是Java面向对象的基础性语言。Java与c+不同,他是一门完全面向对象的语言,他的任何工作都要在类里进行。3.1 类3.1.1 类的一般形式3.1.2 方法我们已经知道一个类的类体由两部分组成变量的定义和方法的定义.方法的定义包括两部分方法声明和方法体.一般格式为方法声明部分方法体的内容方法声明.最基本的方法声明包括方法名和方法的返回类型,如float area() 方法返回的数据的类型可以是任意的 Java 数据类型,当一个方法不需要返回数据时,返回类型必须是 void.很多的方法声明中都给出方法的参数,参数是用逗号隔开的一些变量声明.方法的参数可以是任意的 Java 数据类型.方法的名字必须符合标识符规定.在给方法起名字时应遵守良好的习惯名字如果使用拉丁字母,首写字母使用小写.如果由多个单词组成,从第 2 个单词开始的其它单词的首写字母使用大写.例如float getTrangleArea()void setCircleRadius(double radius)等.下面的Trangle 类中有个 5个方法.class Trangle double sizdA,siddB,siddC;void setSide(double a,double b,double c) sideA=a;sideB=b;sideC=c;double getSideA() return sideA;double getSideB() return sideB;double getSideC() return sideC;boolean isOrNotTrangle() if(sideA+sideBsideC&sideA+sideCsideB&sideB+sideCsideA) return true;else return flase;(2)方法体.方法声明之后的一对大括号”“ ,”以及之间的内容称做方法的方法体.方法体的内容包括局部变量的定义和合法的 Java 语句,如int getPrimNumberSum(int n) int sum=0;for(int i=1;i=n;i+) int j;for(j=2;j=i) sum=sum+i;return sum;方法参数在整个方法内有效,方法内定义的局部变量从它定义的位置之后开始有效.写一个方法和 C 语言中写一个函数完全类似,只不过在这里称做方法罢了.局部变量的名字必须符合标识符规定,遵守习惯名字如果使用拉丁字母,首写字母使用小写.如果由多个单词组成,从第 2 个单词开始的其它单词的首写字母使用大写.3.1.2 方法的重载在Java 中支持有两个或多个同名的方法,但是它们的参数个数,和类型必须有差别。这种情况就是方法的重载。注:方法的返回类型和参数的名字不参与比较,也就是说如果两个方法的名字相同,即使类型不同,也必须保证参数不同.3.1.3 构造方法构造方法是一种特殊方法,它的名字必须与它所在的类的名字完全相同,并且不返回任何数据类型,即它是 void 型 void 可以省略不写 .例如class 梯形 float 上底,下底,高;梯形() 上底=60;下底=100;高=20;梯形(float x,int y,float h) 上底=x;下底=y;高=h;注:当用类创建对象时,使用构造方法,见4 . 类方法和实例方法我们已经知道,成员变量可分为实例变量和类变量.同样,类中的方法也可分为实例方法和类方法,如class A int a;float max(float x,float y)40 static float jerry() static void String speak(String s) 类 A 中的方法 jerry 和 speak 是类方法,max 是实例方法,即方法声明时,方法类型前面不加关键字 static 的是实例方法,加 static 的是类方法.注意 static 需放在方法的类型的前面.3.1.5 两个值得注意的问题1 对成员变量的操作只能放在方法中,方法可以对成员变量和方法体中自己定义的局部变量进行操作.在定义类的成员变量时可以同时赋予初值,如class A int a=12;float b=12.56f;但是不可以这样做class A int a;float b;a=12; /非法b=12.56f; /非法因为类体的内容由成员变量的定义和方法的定义两部分组成如class A int a;float b;void f() int x,y;x=34; y=-23; a=12; b=12.56f;2 但需要注意的是实例方法既能对类变量操作也能对实例变量操作,而类方法只能对类变量进行操作.如class A int a; static int b;void f(int x,int y) a=x; /合法.b=y; / 合法.static void g(int z) b=23; / 合法.a=z; /非法.3 一个类中的方法可以互相调用,实例方法可以调用该类中的其它方法类中的类方法只能调用该类的类方法,不能调用实例方法.如class A float a,b;void sum(float x,float y) a=max(x,y);b=min(x,y);static float getMaxSqrt(float x,float y) float c;c=max(x,y)*max(x,y);return c;static float max(float x,float y) if(x=y) return y;else return x;float min(float x,float y) if(x=y) return x;else return y;3.2 对象创建一个对象实际上分两步来完成。首先,声明一个该类类型的变量,这个变量并不似对象本身,而是通过它可以引用一个实际的对象。然后,获得类的一个事例对象把他的赋值给变量,这个过程是通过NEW运算符完成的。对象不仅可以操作自己的变量改变状态,而且还拥有了使用创建它的那个类中的方法的能力,对象通过使用这些方法可以产生一定的行为.通过使用运算符”.”,对象可以实现对自己的变量访问和方法的调用.1 对象操作自己的变量对象的属性 .对象创建之后,就有了自己的变量,即对象的实体.通过使用运算符”.”,对象可以实现对自己的变量的访问.2 对象调用类中的方法对象的功能对象创建之后,可以使用运算符”.”调用创建它的类中的方法,从而产生一定的行为功能. 当对象调用类中的一个方法时,方法中的局部变量被分配内存空间.方法执行完毕,局部变量即刻释放内存.在学习类的时候我们讲过类中的方法可以操作成员变量.当对象调用方法时,方法中出现的成员变量就是指该对象的成员变量在下面的例子 5中,我们用梯形类创建对象,该对象有计算自身面积的功能.例子 5class 梯形 float 上底,下底,高;梯形() 上底=60;下底=40;高=20;梯形(float x,float y,float h) 上底=x;下底=y;高=h;48float 计算面积() float 面积; 面积=(上底+下底)*高/2.0f; return 面积;void 修改高(float height) 高=height;float 获取高() return 高;class Example4_5 public static void main(String args) 梯形laderOne=new 梯形(),laderTwo=new 梯形(2.0f,3.0f,10);System.out.println(laderOne的高是:+laderOne.获取高();System.out.println(laderTwo的高是:+laderTwo.获取高();System.out.println(laderOne的面积是:+laderOne.计算面积();System.out.println(laderTwo的面积是:+laderTwo.计算面积();laderOne.修改高(10);float h=laderOne.获取高();laderTwo.修改高(h*2);System.out.println(laderOne现在的高是:+laderOne.获取高();System.out.println(laderTwo现在的高是:+laderTwo.获取高();System.out.println(laderOne现在的面积是:+laderOne.计算面积();System.out.println(laderTwo现在的面积是:+laderTwo.计算面积();3.3包Java提供一种有效的类的组织结构是 Java 语言中有效地管理类的一个机制.,这就是包。标准的Java,类库就是由多个包组织的。3.1.1包的使用通过关键字 package 声明包语句.package 语句作为Java 源文件的第一条语句,指明该源文件定义的类所在的包package 语句的一般格式为package 包名如果源程序中省略了package 语句,源文件中你定义命名的类被隐含地认为是无名包的一部分,即源文件中您定义命名的类在同一个包中,但该包没有名字包名可以是一个合法的标识符,也可以是若干个标识符加”分割而成,如package sunrise;package ;3.4继承继承就是在现有类的基础上构建新类以满足新的要求。在继承过程中,新的类继承原来的方法和实例变量,并且能添加自己的方法和实例变量。3.4.1继承的使用3.4.2final关键字的使用3.5 抽象类抽象类是指类中定义方法,但是并不去实现它,而是在它的子类中去具体的实现。用关键字abstract 修饰类称为abstract 类抽象类如abstract class A abstract 类不能用new 运算创建对象,必须产生其子类,由子类创建对象对于abstract 方法,只允许声明,而不允许实现如abstract void draw()如果一个类是一个abstract 类的子类,它必须具体实现父类的abstract 方法如果一个类中含有abstract 方法,那么这个类必须用abstract 来修饰(abstract 类也可以没有abstract 方法)一个abstract 类只关心它的子类是否具有某种功能,并不关心功能的具体行为,功能的具体行为由子类负责实现在下面的例子23 中,有一个abstract 的”图形”类,图形类要求其子类都必须有具体计算面积的功能例子 23 效果如图 4.19abstract class 图形 public abstract double 求面积();class 梯形extends 图形 double a,b,h;梯形(double a,double b,double h) this.a=a;this.b=b;this.h=h;public double 求面积() return(1/2.0)*(a+b)*h); 3.6 Object类3.6.1Object对象3.6.2equals方法和toString方法3.7 this关键字this 关键字可以出现在类的实例方法中,代表使用该方法的当前对象.为了说明 this 的用法,下面例子 10中的”三角形”的构造方法中,有意使用了 this.”三角形”类中的构造方法中,出现了 this,当一个对象使用构造方法来创建自己时,构造方法中的 this 就代表当前对象.例子 10class 三角形 double a,b,c;三角形(double a,double b,double c) setABC(this,a,b,c);void setABC(三角形trangle,double a,double b,double c) trangle.a=a;trangle.b=b;trangle.c=c;class Example4_10 public static void main(String args)三角形tra=new 三角形(3,4,5); System.out.print(三角形型的三边是:+tra.a+,+tra.b+,+tra.c+,);我们已经知道,实例方法可以操作类的成员变量.实际上,当成员变量在实例方法中出现时,默认的格式是this.成员变量.如class A int x;void f() this.x=100;在上述 A 类中的实例方法 f 中出现了 this,this 就代表使用 f 的当前对象.所以,”this.x”就表示当前对象的变量 x,当对象调用方法 f 时,将 100 赋给该对象的变量 x. 因此,当一个对象调用方法时,方法中的成员变量就是指分配给该对象的成员变量.因此,通常情况下,可以省略成员变量名字前面的”this.”.如class A int x;void f() x=100; /省略x前面的this.但是,当成员变量的名字和局部变量的名字相同时.成员变量前面的”this.”就不可以我们知道类的实例方法可以调用类的其它方法,调用的默认格式是this.方法.如class B void f() this.g();void g() System.out.println(“ok”);在上述 B 类中的方法 f 中出现了 this,this 代表使用方法 f 的当前对象,所以,方法 f 的方法体中 this.g()就是当前对象调用方法 g,也就是说,当某个对象调用方法 f 过程中, 又调用了方法 g.由于这种逻辑关系非常明确,一个方法调用另一个方法时可以省略方法名字前面的”this.”.如class B void f() g(); /省略g前面的this.void g() System.out.println(“ok”);注 this 不能出现在类方法中,这是因为,类方法可以通过类名直接调用,这时,可能还没有任何对象诞生.3.8 接口3.8.1 接口的使用和说明1 接口声明我们曾使用 class 关键字来声明类,接口通过使用关键自 interface 来声明.格式interface 接口的名字2 接口体接口体中包含常量定义和方法定义两部分接口体中只进行方法的声明,不许提供方法的实现,所以,方法的定义没有方法体,且用分号” ”结尾如interface Printable final int MAX=100;void add();float sum(float x ,float y);3 接口的使用一个类通过使用关键字implements 声明自己使用一个或多个接口如果使用多个接口,用逗号隔开接口名如class A implements Printable,Addable类A 使用接口Printable 和接口Addableclass Dog extends Animal implements Eatable,Sleepable类Dog 使用接口Eatable 和接口Sleepable如果一个类使用了某个接口,那么这个类必须实现该接口的所有方法,即为这些方法提供方法体需要注意的是在类中实现接口的方法时,方法的名字,返回类型,参数个数及类型必须与接口中的完全一致特别要注意的是接口中的方法被默认是public 的,所以类在实现接口方法时,一定要用public 来修饰另外,如果接口的方法的返回类型如果不是void的,那么在类中实现该接口方法时,方法体至少要有一个return 语句如果是void 型,类体除了两个大括号外,也可以没有任何语句Java 为我们提供的接口都在相应的包中,通过引入包可以使用Java 提供的接口也可以自己定义接口,一个java 源文件就是由类和接口组成的注 接口声明时,如果关键字 interface 前面加上 public 关键字,就称这样的接口是一个 public 接口 public 接口可以被任何一个类使用.如果一个接口不加 public 修饰,就称做友好接口类,友好接口可以被同一包中的类.抽象类和接口类的比较4 异常由于硬件问题、资源耗尽、输入错误以及程序代码编写不严谨会导致程序运行时产生异常,这异常会导致程序中断而不能正常继续运行,所以需要对异常的情况进行妥善处理。4.1.1 什么是异常 Java的异常实际上是一个对象,这个对象描述了代码中出现的异常情况。在代码运行异常时,在有异常的方法中创建并抛出一个表示异常的对象,然后在相对应的异常处理模板中进行处理。示例如下:4.1.2 异常的分类Error:内部错误,不期望用户捕获的一种错误。try语句:try句子里面主要是放置要监控的程序句子catch:以合理的方式捕获和处理异常,主有try语句出错才会执行。finally:释放资源,不管try里面的语句是否出错都要执行。throw:手动引发异常throws:由方法引发的异常多层捕获:异常子类一定要位于异常父类之前。最后一个catch块要用Exception捕获,以便捕获到所有异常。执行其中一条catch语句之后,其它的catch将被忽略。4.2 异常的使用4.2.1异常捕获 Java使用try-catch语句块来进行异常的捕获,Java中严格规定了该语句块的使用格式,他的基本使用格式如下:4.2.2 finally语句块4.2.4 方法抛出异常1、通过 throws 关键字抛出异常的。看下面程序。2、用throw 再次抛出异常5数组 5.1. 声明数组声名数组包括数组的名字,数组包含的元素的数据类型声明一维数组有下列两种格式数组元素类型数组名字 数组元素类型 数组名字声明2 维数组有下列两种格式数组元素类型数组名字 数组元素类型 数组名字例如float boy ; double girl ; char cat float a ; double b ; char d 将来数组boy 的元素可以存放float 型数据数组的元素的类型可以是Java 的任何一种类型假如你已经定义了一个People 类,那么你可以声明一个数组People china ;将来数组china 元素可以存放People 类型数据,即People 类创建的对象5.2. 创建数组声明数组仅仅是给出了数组名字和元素的数据类型,要想真正的使用数组必须为它分配内存空间,即创建数组在为数组分配内存空间时必须指明数组的长度为数组分配内存空间的格式如下数组名字= new 数组元素的类型数组元素的个数;例如boy= new float7;声明数组和创建数组可以一起完成,二维数组和一维数组一样,在定义之后必须用new 运算符分配内存空间,例如int mytwo;mytwo=new int 35;或int mytwo=new int34;注 和 C 语言不同的是,Java 允许使用 int 型变量指定数组的大小,例如int size=30;double number=new doublesize5.3. 数组元素的使用一维数组通过下标符访问自己的元素,如boy日0,boy日1等需要注意的是下标从0 开始,因此,数组若是7 个元素,下标到6 为止,如果你将来使用了如下语句将发生异常boy7=384.98f;二维数组也通过下标符访问自己的元素,如a日0日1,a日1日2等需要注意的是下标从0 开始,比如声明创建了一个二维数组aint a =new int23那么第一个下标的变化范围从0 到1,第二个下标变化范围从0 到2如果你将来使用了如下语句将发生异常注 有一个重要的表示数组长度的 即元素的个数 格式.如,如果创建了float a=new float6,则 a.length 的值6 .5.4 数组的初始化创建数组后,系统会给每个数组元素一个默认的值,如,float 型是00我们在声明数组时同时也还可以给数组的元素一个初始值,如float boy = 12.3f;23.89f,2.0f,23f,57

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论