《Java2实用教程课件(第3版第4章类、对象和接口).ppt》由会员分享,可在线阅读,更多相关《Java2实用教程课件(第3版第4章类、对象和接口).ppt(89页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第章类、对象和接口第章类、对象和接口l4.1 编程语言的几个发展阶段编程语言的几个发展阶段l4.2 类类l4.3 对象对象l4.4 static 关键字关键字l4.5 this 关键字关键字l4.6 包包l4.7 访问权限访问权限l4.8 类的继承类的继承l4.9 对象的上转型对象对象的上转型对象l4.10 多态性多态性l4.11 abstract 类和类和abstract方法方法l4.12 super关键字关键字l4.13 接口接口l4.14 内部类内部类l4.15 匿名类匿名类l4.16 异常类异常类l4.17 Class类类l4.18 基本类型的类包装基本类型的类包装l4.19 反编译和
2、文档生成器反编译和文档生成器l4.20 jar文件文件 4.1 编程语言的几个发展阶段编程语言的几个发展阶段l机器语言(如汇编语言)机器语言(如汇编语言)计算机处理信息的早期语言是所谓的机器语言,这种语言中的指令都是由0,1组成的序列,称这样的序列为一条机器指令。l面向过程编程语言面向过程编程语言 语言把代码组成叫做过程或函数的块。每个块的目标是完成某个任务,例如,一个C的源程序就是由若干个书写形式互相独立的函数组成。l面向对象编程语言面向对象编程语言 面向对象编程主要体现下列三个特性:1.封装性 2.继承 3.多态lJava语言是面向对象语言,它的源程序是由若干个类组成,源文件是扩展名为语言
3、是面向对象语言,它的源程序是由若干个类组成,源文件是扩展名为.java的文本文件的文本文件 4.2 类类l类:Class类是组成Java程序的基本要素。类封装了一类对象的状态和方法。类是用来定义对象的模板。l类的实现包括两部分:类声明和类体。1.类声明class People “class People”叫做类声明;“People”是类名。习惯上类名的第一个字母大写,但这不是必须的。2.类体l写类的目的是为了描述一类事物共有的属性和功能,描述过程由类体来实现。类声明之后的一对大括号“”,“”以及它们之间的内容称做类体,大括号之间的内容称做类体的内容。l类体的内容由两部分构成:成员变量成员变量,
4、用来描述类的属性;成员方法成员方法,用来描述类的功能。类的定义class 梯形 float 上底,下底,高,laderArea;/变量定义部分 float 计算面积()/方法定义 laderArea=(上底+下底)*高/2.0f;return laderArea;void 修改高(float h)/方法定义 高=h;类的定义编码风格l 类名的首字母要大些;l如果类名由多个单词组成,单词之间没有空格或下划线,单词之间的字母要大些;例如:class AllTheColorsOfTheRainbow l成员方法、成员变量的第一个字母小写;l成员方法、成员变量的名字由多个单词组成,则第一个字母小写,以
5、后的单词的第一个字母大些。例如:int anIntegerRepresentingColors 例如:void changeTheHueOfTheColor(int newHue)3.成员变量和局部变量l变量定义部分所定义的变量被称为类的成员变量。在方法体中定义的变量和方法的参数被称为局部变量。l成员变量在整个类内都有效,局部变量只在定义它的方法内有效。l成员变量又分为实例成员变量实例成员变量(简称实例变量)和类变量类变量(也称静态变量).如果成员变量的类型前面加上关键字static,这样的成员变量称做是类变量或静态变量。l如果局部变量的名字与成员变量的名字相同,则成员变量被隐藏,即这个成员变
6、量在这个方法内暂时失效.这时如果想在该方法内使用成员变量,必须使用关键字this。3.成员变量和局部变量l在方法体中定义的变量和方法的参数被称为局部变量class 三角形 float sideA,sideB,sideC,lengthSum;void setSide(float sideA,float sideB,float sideC)this.sideA=sideA;/this.sideA表示成员变量sideA this.sideB=sideB;/this.sideB表示成员变量sideB this.sideC=sideC;/this.sideC表示成员变量sideC 4.方法l我们已经知道
7、一个类的类体由两部分组成:变量的定义和方法的定义。方法的定义包括两部分:方法声明和方法体。l方法参数在整个方法内有效,方法内定义的局部变量从它定义的位置之后开始有效。如果局部变量的定义是在一个复合语句中,那么该局部变量的有效范围是该复合语句,即仅在该复合语句中有效,如果局部变量的定义是在一个循环语句中,那么该局部变量的有效范围是该循环语句,即仅在该循环语句中有效.5.方法重载l方法重载:一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同(方法的类型不同,不能成为确定方法重载的依据)。class Area float getArea(fl
8、oat r)return 3.14f*r*r;double getArea(float x,int y)return x*y;float getArea(int x,float y)return x*y;double getArea(float x,float y,float z)return(x*x+y*y+z*z)*2.0;6.构造方法l构造方法是一种特殊方法,它的名字必须与它所在的类的名字完全相同,而且没有类型。l构造方法的作用:一般用来对实例化对象的属性进行初始化。l构造方法也可以重载,即一个类有多个参数列表不同的构造方法。class 梯形 float 上底,下底,高;梯形()上底=6
9、0;下底=100;高=20;梯形(float x,int y,float h)上底=x;下底=y;高=h;7.类方法和实例方法l类中的方法也可分为实例方法和类方法.l方法声明时,方法类型前面不加关键字static的是实例方法、加关键字static的是类方法。l构造方法是特殊的方法,不能用static修饰构造方法。4.3 对象对象 l类是创建对象的模板。当使用一个类创建了一个对象时,我们也说我们给出了这个类的一个实例。1.创建对象l创建一个对象包括对象的声明和为对象分配内存两个步骤。(1)对象的声明。一般格式为:类的名字类的名字 对象名字对象名字;如:People zhangPing;l(2)为
10、声明的对象分配内存使用new运算符和类的构造方法为声明的对象分配内存,如果类中没有构造方法,系统会调用默认的构造方法(默认的构造方法是无参数的,你一定还记得构造方法的名字必须和类名相同这一规定)。如:zhangPing=new People();l(3)对象的内存模型 使用例子1来说明对象的内存模型 class XiyoujiRenwu float height,weight;String head,ear,hand,foot,mouth;void speak(String s)System.out.println(s);class A public static void main(Stri
11、ng args)XiyoujiRenwu zhubajie;/声明对象 zhubajie=new XiyoujiRenwu();/为对象分配内存,/使用new 运 算 符和默认的构造方法 声明对象时的内存模型 l当用XiyoujiRenwu类声明一个变量,即对象zhubajie时,如例子1中的对象zhubajie:XiyoujiRenwu zhubajie;内存模型如左图所示内存模型如左图所示 对象分配内存后的内存模型 l当系统见到:zhubajie=new XiyoujiRenwu();时,就会做两件事:为height,weight,head,ear,mouth,hand,foot各个变量分
12、配内存,即XiyoujiRenwu类的成员变量被分配内存空间,然后执行构造方法中的语句。new运算符在为变量height,weight,head,ear,mouth,hand,foot分配内存后,将返回一个引用引用给对象变量zhubajie。2.使用对象使用对象 l对象不仅可以操作自己的变量改变状态,而且还拥有了使用创建它的那个类中的方法的能力,对象通过使用这些方法可以产生一定的行为。l通过使用运算符“.”,对象可以实现对自己的变量访问和方法的调用。l当对象调用方法时,方法中出现的成员变量就是指该对象的成员变量。3.对象的引用和实体l当用类创建一个对象时,类中的成员变量被分配内存空间,这些内存
13、空间称做该对象的实体,而对象中存放着引用,以确保实体由该对象操作使用。l一个类创建的两个对象,如果具有相同的引用,那么就具有完全相同的实体。l没有实体的对象称作空对象,空对象不能使用,即不能让一个空对象去调用方法产生行为。4.参数传值l当方法被调用时,如果方法有参数,参数必须要实例化,即参数变量必须有具体的值。在Java中,方法的所有参数都是“传值”的,也就是说,方法中参数变量的值是调用者指定的值的拷贝。例如,如果向方法的int型参数x传递一个int值,那么参数x得到的值是传递值的拷贝。方法如果改变参数的值,不会影响向参数“传值”的变量的值。基本数据类型参数的传值 l对于基本数据类型的参数,向
14、该参数传递的值的级别不可以高于该参数的级别,比如,不可以向int型参数传递一个float值,但可以向double型参数传递一个float值。引用类型参数的传值 lJava的引用型数据包括对象、数组和接口。当参数是引用类型时,“传值”传递的是变量的引用而不是变量所引用的实体。l如果改变参数变量所引用的实体,就会导致原变量的实体发生同样的变化。但是,改变参数的引用不会影响向其传值的变量的引用。4.4 static 关键字关键字l用static修饰的成员变量称为类变量 l用static修饰的方法称为类方法.实例变量和类变量的区别l一个类通过使用new运算符可以创建多个不同的对象,不同的对象的实例变量
15、将被分配不同的内存空间,如果类中的成员变量有类变量,那么所有的对象的这个类变量都分配给相同的一处内存,改变其中一个对象的这个类变量会影响其它对象的这个类变量。l类变量是和该类创建的所有对象相关联的变量,改变其中一个对象的这个类变量就同时改变了其它对象的这个类变量。因此,类变量不仅可以通过某个对象访问也可以直接通过类名访问。实例变量仅仅是和相应的对象关联的变量,也就是说,不同对象的实例变量互不相同,即分配不同的内存空间,改变其中一个对象的实例变量不会影响其它对象的这个实例变量。实例变量可以通过对象访问,不能使用类名访问。.实例方法和类方法的区别l实例方法可以被类创建的任何对象调用执行。l类方法不
16、仅可以被类创建的任何对象调用执行,也可以直接通过类名调用 4.5 this 关键字关键字lthis是Java的一个关键字,表示当前对象。lthis可以出现在实例方法和构造方法中,但不可以出现在类方法(static方法)中。this关键字出现在类的构造方法中时,代表使用该构造方法所创建的对象所创建的对象。this关键字出现在类的实例方法中时,代表正在调用该方法的当前对象调用该方法的当前对象。4.6 包包:库单元&包是Java语言中有效地管理类的一个机制。&包内包含一组类,它们在单一的名字空间之下被组织在一起。&Java中,包使用关键字 package&导入其他包下面的类,使用import关键字1
17、.包语句包语句 l通过关键字package声明包语句。package 语句作为Java源文件的第一条语句,指明该源文件定义的类所在的包。package语句的一般格式为:package 包名;l如果源程序中省略了package语句,源文件中你定义命名的类被隐含地认为是默认包的一部分,即源文件中定义命名的类在同一个包中,但该包没有名字。一般是项目的根目录l包名可以是一个合法的标识符,也可以是若干个标识符加“.”分割而成,以用“域名应用”表示唯一的包package;l关于package的使用,参看源程序文件Java中的文件类型&Java源程序文件,后缀.java&Java编译程序文件,后缀.clas
18、s&Java打包程序,后缀jar:可以将一组.class文件打包并压缩为一个Jar文件。2.import 语句语句 2.import 语句语句 l使用import 语句可以引入包中的类。l在编写源文件时编写源文件时,除了自己编写类外,我们经常需要使用Java提供的许多类,这些类可能在不同的包中。l在学习Java语言时,使用已经存在的类,避免一切从头做起站在别人的肩膀上。3 classpath 类路径类路径l设置Java的类路径JAVA_HOME d:devjdk1.5CLASSPATH .;JAVA_HOMElibdt.jar;JAVA_HOMElibtools.jarpath%JAVA_HO
19、ME%bin;说明:dt.jar和tools.jar是java中两个最基本的包,包含了从java最重要的lang包到各种高级功能如可视化的swing包,是java必不可少的。l在eclipse中,右击相关项目的属性-java构建路径-库-添加外部Jar3 classpath 类路径类路径l在Eclipse中设置classpathJDK1.5以上,会在安装路径下安装jre,同时自动设置Java路径操作:菜单 窗口-首选项-Java-构建路径-类路径变量lrt:RunTime运行库lJRE:Java Runtime Envirement Java运行环境4 工具库(工具库(libraries)l创
20、建自己的工具库(一组Jar文件)来减少或消除重复的程序代码l操作办法:Eclipse中设置libraries菜单 窗口-首选项-Java-构建路径-用户库l可以对用户库进行新建、编辑、除去、添加jar等操作。在eclipse中,右击相关项目的属性-java构建路径-库l添加库,添加/修改库,即可以设置该项目的工具库。4 工具库(工具库(libraries)4 工具库(工具库(libraries)4.7访问权限访问权限l类创建了一个对象之后,该对象可以通过“.”运算符操作自己的变量、使用类中的方法,但对象操作自己的变量和使用类中的方法是有一定限制的。l所谓访问权限是指对象是否可以通过“.”运算符
21、操作自己的变量或通过“.”运算符使用类中的方法。l访问限制修饰符有private、protected和public,都是Java的关键字,用来修饰成员变量或方法。4.7访问权限访问权限1.私有变量和私有方法私有变量和私有方法l一个类在另外一个类中创建一个对象后,该对象不能访问自己的私有变量和私有方法 l对于一个类的私有类变量(静态成员变量),那么在另外一个类中,也不能通过类名来操作这个私有类变量。l使用关键字:private.公有变量和公有方法公有变量和公有方法l一个类在另外一个类中创建一个对象后,该对象能访问自己的公有公有变量和公有公有方法 l对于一个类的公有公有类变量(静态成员变量),那么
22、在另外一个类中,也能通过类名来操作这个公有公有类变量。l使用关键字:public 3.受保护的成员变量和方法受保护的成员变量和方法 l一个类在另外一个类中创建一个对象后,如果两个类在同一包中,该对象能访问自己的受保护受保护变量和受保护受保护方法 l对于一个类的受保护受保护类变量(静态成员变量),如果两个类在同一包中,那么在另外一个类中,也能通过类名来操作这个受受保护保护类变量。l在后面学习类的继承时,将讲述受保护受保护和“友好”之间在继承方面的区别。l使用关键字:protected4.友好变量和友好方法友好变量和友好方法l不用private、public、protected修饰符的成员变量和方
23、法被称为友好变量和友好方法。l一个类在另外一个类中创建一个对象后,如果两个类在同一包中,该对象能访问自己的友好变量和友好方法 l对于一个类的友好类变量(静态成员变量),如果两个类在同一包中,那么在另外一个类中,也能通过类名来操作这个友好类变量。5.类的访问权限类的访问权限lpublic类每一个编译单元文件,都只能有一个public类public类的名称必须完全匹配编译单元文件的名称编译单元可以不带public类l说明类的限定符不可以是private或者protected类的限定符可以是public或者包访问性如果构造方法都是private,但是有一个static方法可以创建一个对象,则这种是设
24、计模式的单例创建为什么要做控制访问&实现了“信息隐藏”这一面向对象的特性l各司其责,不同的权限能访问的内容有不同 l允许类库设计者改变内部的实现,而不需要担心是否影响了其他程序员是否对其进行了调用4.8 类的继承类的继承l继承是面向对象的一个基本特性之一。由继承而得到的类称为子类(派生类),被继承的类称为父类(基类)。通过继承,可以使得子类具有父类的各种属性和方法,而不需要再次编写相同的代码。子类继承父类的状态和行为,并根据需要增加子类自己的新的状态和行为。在令子类继承父类的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类的原有属性和方法,使其获得与父类不同的功能。Java不支持多重继承
25、(子类只能有一个父类)。继承的特性继承的特性1由继承而得到的类称为子类(派生类),被继承的类称为父类(基类)。继承的特性继承的特性2通过继承,可以使得子类具有父类的各种属性和方法,而不需要再次编写相同的代码。子类继承父类的状态和行为,并根据需要增加子类自己的新的状态和行为。继承的特性继承的特性3在子类继承父类的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类的原有属性和方法,使其获得与父类不同的功能。继承的特性继承的特性4Java不支持多重继承(子类只能有一个父类)。1.继承的表示继承的表示l继承在Java语言中的语法class A extends Bl派生类A会自动得到基类B中所有的域
26、和方法子类除了和基类由相同的接口之外,还可能有一些额外的方法和域;1.继承的表示继承的表示l在类的声明中,通过使用关键字extends来创建一个类的子类,格式如下:class 子类名 extends 父类名 例如:class Students extends People 2.子类的继承性:在同一包中的继承性子类的继承性:在同一包中的继承性 子类和父类不在同一包中的继承性子类和父类不在同一包中的继承性3、结合使用组合和继承、结合使用组合和继承l同时使用组合和继承4.子类可否拥有和父类的同名的成员子类可否拥有和父类的同名的成员l子类也可以隐藏继承的成员变量,对于子类可以从父类继承的成员变量,只要
27、子类中定义的成员变量和父类中的成员变量同名时,子类就隐藏了继承的成员变量.4.子类可否拥有和父类的同名的成员子类可否拥有和父类的同名的成员l覆盖:子类的方法覆盖了父类的同名且参数列表相同的方法。子类通过方法的重写可以隐藏继承的方法。l对于子类创建的一个对象,如果子类重写了父类的方法,则运行时系统调用子类重写的方法;如果子类继承了父类的方法(未重写),那么子类创建的对象也可以调用这个方法,只不过方法产生的行为和父类的相同而已.5.final关键字关键字lfinal关键子可以修饰类、成员变量和方法中的参数。final类不能被继承,即不能有子类。如果一个方法被修饰为final方法,则这个方法不能被重
28、写。如果一个成员变量被修饰为final的,就是常量,常量必须赋给初值,而且不能再发生变化。如果方法的参数被修饰为final的,该参数的值不能被改变。4.9 对象的上转型对象对象的上转型对象 public static void tune(Instrument i)i.play(Note.MIDDLE_C);Wind flute=new Wind();tune(flute);/向上转型,定义时是父类,调用时是子类4.9 对象的上转型对象对象的上转型对象 l向上转型:定义时是父类的对象,调用时是子类的对象l进行向上转型的好处是什么?实现的程序不需要进行改变,在逻辑功能需要修改的时候只需要在客户端程
29、序进行修改就可以了。4.9 对象的上转型对象对象的上转型对象l向上转型的特点上转对象不能操作子类新增的成员变量(失掉了这部分属性);不能使用子类新增的方法(失掉了一些功能)。上转型对象可以操作子类继承或隐藏成员变量,也可以使用子类继承的或重写的方法。上转型对象操作子类继承或重写的方法时,就是通知对应的子类对象去调用这些方法。因此,如果子类重写了父类的某个方法后,对象的上转型对象调用这个方法时,一定是调用了这个重写的方法。4.10 多态性多态性l多态性就是指父类的某个方法被其子类重写时,可以各自产生自己的功能行为.l当一个类有很多子类时,并且这些子类都重写了父类中的某个方法。那么当我们把子类创建
30、的对象的引用放到一个父类的对象中时,就得到了该对象的一个上转型对象,那么这个上转的对象在调用这个方法时就可能具有多种形态.4.11abstract 类和类和abstract方法方法l用关键字abstract修饰的类称为abstract类(抽象类)。abstract class A abstract类的特点 l和普通的类相比,abstract类可以有abstract方法。对于abstract方法,只允许声明,不允许实现,而且不允许使用final修饰abstract方法。abstract class A abstract int min(int x,int y);int max(int x,int
31、 y)return xy?x:y;abstract类的特点 labstract类的子类,实现了abstract方法,子类才能创建对象。labstract类只关心它的子类是否具有某种功能,并不关心功能的具体行为,功能的具体行为由子类负责实现。4.12 super关键字关键字l子类不继承父类的构造方法,因此,子类如果想使用父类的构造方法,必须在子类的构造方法中使用,并且必须使用关键字super来表示,而且super必须是子类构造方法中的头一条语句。l如果我们在子类中想使用被子类隐藏了的父类的成员变量或方法就可以使用关键字super。比如:super.x、super.play(),就是被子类隐藏的父
32、类的成员变量x和方法play()。4.13接口接口lJava不支持多继承性,即一个类只能有一个父类。单继承性使得Java简单,易于管理程序。为了克服单继承的缺点,Java使用了接口,一个类可以实现多个接口。1.接口的声明与使用l使用关键字interface来定义一个接口。接口的定义和类的定义很相似,分为接口的声明和接口体。l接口体中包含常量定义和方法定义两部分。接口体中只进行方法的声明,不许提供方法的实现,所以,方法的定义没有方法体,且用分号“;”结尾。如:interface Printable final int MAX=100;void add();float sum(float x,fl
33、oat y);接口的使用 l一个类通过使用关键字implements 声明自己使用一个或多个接口。如果使用多个接口,用逗号隔开接口名。如:class A implements Printable,Addablel如果一个类使用了某个接口,那么这个类必须实现该接口的所有方法,即为这些方法提供方法体.2.理解接口l接口的思想在于它可以增加很多类都需要实现的功能,使用相同的接口类不一定有继承关系.l同一个类也可以实现多个接口。接口只关心功能,并不关心功能的具体实现.3.接口回调l接口回调是指:可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中。那么该接口变量就可以调用被类实现的接口中的
34、方法。实际上,当接口变量调用被类实现的接口中的方法时,就是通知相应的对象调用接口的方法.4.接口做参数l一个方法的参数是接口类型,就可以将任何实现该接口的类的实例的引用传递给该接口参数,接口参数就可以回调类实现的接口方法。4.14 内部类内部类lJava支持在一个类中声明另一个类,这样的类称作内部类,而包含内部类的类成为内部类的外嵌类。l内部类的类体中不可以声明类变量和类方法。外嵌类的类体中可以用内部类声明对象,作为外嵌类的成员。4.15 匿名类匿名类l和类有关的匿名类和类有关的匿名类当使用类创建对象时,程序允许我们把类体与对象的创建组合在一起,也就是说,类创建对象时,除了构造方法还有类体,此
35、类体被认为是该类的一个子类去掉类声明后的类体,称作匿名类。l和接口有关的匿名类和接口有关的匿名类 Java允许直接用接口名和一个类体创建一个匿名对象,此类体被认为是实现了接口的类去掉类声明后的类体,称作匿名类 .4.16 异常类异常类 l程序运行出现异常时,Java运行环境就用异常类Exception的相应子类创建一个异常对象,并等待处理,例如,读取一个不存在的文件时,运行环境就用异常类IOException创建一个对象,异常对象可以调用如下方法得到或输出有关异常的信息:public String getMessage()public void printStackTrace()public
36、String toString()l使用trycatch语句来处理异常,将可能出现的异常操作放在trycatch语句的try部分,当try部分中的某个语句发生异常后,try部分将立刻结束执行,而转向执行相应的catch部分;所以程序可以将发生异常后的处理放在 catch部分。trycatch语句可以由几个catch组成,分别处理发生的相应异常。ltrycatch语句的格式如下:try 包含可能发生异常的语句 catch(ExceptionSubClass1 e)catch(ExceptionSubClass2 e)4.17 Class类类 lClass是java.lang包中的类,该类的实例用
37、来封装对象运行时的状态。当一个类被加载且创建对象时,和该类相关的一个类型为Calss的对象就会自动创建。Class类本身不提供构造方法,因此,不能使用new运算符和构造方法显示地创建一个Class对象。任何对象调用getClass()方法都可以获取和该对象相关的一个Class对象,这个Class对象调用如下的方法可以获取创建对象的类的有关信息.使用使用Class实例化一个对象实例化一个对象 l 创建对象最常用的方式就是使用new运算符和类的构造方法,实际上我们也可以使用Class对象得到一个类的实例。为了得到一个类的对象,可以先得到一个和该类相关的Class对象,做到这一点并不困难,只要使用C
38、lass的类方法public static Class forName(String className)throws ClassNotFoundException就可以返回一个和参数className指定的类相关的Class对象。再让这个Class对象调用public Object newInstance()throws InstantiationException,IllegalAccessException方法就可以得到一个className类的对象。4.18 基本类型的类包装基本类型的类包装lJava的基本数据类型包括:byte、int、short、long、float、double、
39、char。Java同时也提供了基本数据类型相关的类,实现了对基本数据类型的封装。这些类在java.lang包中,分别是:Byte、Integer、Short、Long、Float、Double和Character类。1.Double和和Float类类 lDouble类和Float类实现了对double和float基本型数据的类包装。l可以使用Double类的构造方法:Double(double num)创建一个Double类型的对象;使用Float类的构造方法:Float(float num)创建一个Float类型的对象。Double对象调用doubleValue()方法可以返回该对象含有的d
40、ouble型数据;Float对象调用floatValue()方法可以返回该对象含有的float型数据。2.Byte、Integer、Short、Long类类 l下述构造方法分别可以创建Byte、Integer、Short和Long类型的对象:Byte(byte num)Integer(int num)Short(short num)Long(long num)l Byte、Integer、Short和Long对象分别调用byteValue()、intValue()、shortValue()和longValue()方法可以返回该对象含有的基本型数据。3.Character类类 lCharacter类实现了对char基本型数据的类包装。l可以使用Character类的构造方法:Character(char c)创建一个Character类型的对象。Character对象调用charValue()方法可以返回该对象含有的char型数据。4.19 反编译和文档生成器反编译和文档生成器 l 使用SDK提供的反编译器:javap.exe可以将字节码反编译为源码,查看源码类中的方法名字和成员变量的名字.l使用SDK提供的javadoc.exe可以制做源文件类结构的html格式文档。作业lP100 T2、5、7、10、13、14、15、16