《03新 面向对象的编程技术.ppt》由会员分享,可在线阅读,更多相关《03新 面向对象的编程技术.ppt(61页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象的 语言程序设计Java主讲主讲 :面向对象的编程技面向对象的编程技术术第第3章章面向对象程序设计的发展面向对象程序设计的发展面向对象方法发展的背景面向对象方法发展的背景 面向对象方法发展的历史面向对象方法发展的历史 面向对象程序设计的特点面向对象程序设计的特点面向对象方法发展的背景面向对象方法发展的背景 20世世纪纪60年年代代中中期期到到70年年代代中中期期,在在计计算算机机界界爆爆发发了了“软软件件危危机机”,传传统统的的生生命命周周期期方方法法学学的的许许多多缺缺点点暴暴露露无无疑疑,虽虽然然它它仍仍然然能部分地缓解能部分地缓解“软件危机软件危机”。此此后后,为为了了克克服服传
2、传统统方方法法学学的的缺缺点点,面面向向对对象象方方法法学学日日益益受受到到人人们们的的重重视视,并并且且快快速地崛起。速地崛起。面向对象方法发展的历史面向对象方法发展的历史面向对象方法起源于面向对象程序设计语言面向对象方法起源于面向对象程序设计语言起源于起源于50年代人工智能的早期研究年代人工智能的早期研究 60年代挪威计算中心开发的年代挪威计算中心开发的Simula67,引入了类的概念和继承机制引入了类的概念和继承机制,标志着面标志着面 向对象程序设计的出现向对象程序设计的出现面向对象方法发展的历史面向对象方法发展的历史面向对象方法起源于面向对象程序设计语言面向对象方法起源于面向对象程序设
3、计语言70年代出现的并发年代出现的并发Pascal,Ada和和Modula-2 等编程语言,支持数据与操作的封装等编程语言,支持数据与操作的封装 1972年,出现了年,出现了Smalltalk-72面向对象方法发展的历史面向对象方法发展的历史面向对象方法起源于面向对象程序设计语言面向对象方法起源于面向对象程序设计语言1981年问世的年问世的Smalltalk80是第一个能够实际是第一个能够实际 应用的面向对象程序设计语言应用的面向对象程序设计语言 80年代中期至今,出现了年代中期至今,出现了C+,Object Pascal,Java等面向对象程序设计语言,标志着面向等面向对象程序设计语言,标志
4、着面向 对象程序设计的真正普及对象程序设计的真正普及l3.1.1 面向对象的概念面向对象的概念 问题空间元素在方法空间中的表示问题空间元素在方法空间中的表示称为称为对象对象(也称为(也称为实例实例instance),),“对对象象”是现实世界的实体或概念在计算机是现实世界的实体或概念在计算机逻辑中的抽象表示。逻辑中的抽象表示。面向对象的程序设计是以要解决的面向对象的程序设计是以要解决的问题中所涉及到的各种对象为主要考虑问题中所涉及到的各种对象为主要考虑因素。因素。3.1 类类 把问题看成是相互作用的事物的集把问题看成是相互作用的事物的集合,用属性描述事物,对事物的操作叫合,用属性描述事物,对事
5、物的操作叫做方法,事物称为对象,属性称为数据,做方法,事物称为对象,属性称为数据,对象是数据与方法的集合。对象是数据与方法的集合。OOP主要技主要技术包括术包括封装封装、继承继承、多态多态、覆盖覆盖。3.1.1 面向对象的概念面向对象的概念 “对对象象”是是面面向向对对象象方方法法中中使使用用的的最最基基本的概念。本的概念。在在应应用用领领域域中中有有意意义义的的、与与所所要要解解决决的的问问题题有有关关系系的的任任何何事事物物都都可可以以作作为为对对象象,它它既既可可以以是是具具体体的的物物理理实实体体的的抽抽象象,也也可可以以是是人人为为的的概概念念,或或者者是是任任何何有有明明确确边边界
6、界和和意意义义的的东东西西。总总之之,对对象象是是对对问问题题域域中中某某个个实实体体的的抽抽象象,设设立立某某个个对对象象就就反反映映了了软软件件系系统统保保存有关它的信息并且与它进行交互的能力。存有关它的信息并且与它进行交互的能力。3.1.1 面向对象的概念面向对象的概念 -对对象象 例例如如,一一名名学学生生、一一所所学学校校、一一个个窗窗口口、一一座座图图书书馆馆、一一本本图图书书、贷贷款款、借借贷贷等等等等,都可以作为一个对象。都可以作为一个对象。由由于于客客观观世世界界中中的的实实体体通通常常都都既既有有静静态态的的属属性性,又又有有动动态态的的行行为为,因因此此,面面向向对对象象
7、方方法法中中的的对对象象是是由由描描述述对对象象属属性性的的数数据据以以及及可可以以对对这这些些数数据据施施加加的的所所有有操操作作封封装装在在一一起起构构成成的的统统一体。一体。3.1.1 面向对象的概念面向对象的概念 -对对象象 封封装装是是指指把把对对象象的的属属性性和和行行为为结结合合成成一一个个独独立立的的系系统统单单位位,尽尽可可能能隐隐藏藏对对象象的的内内部部细细节节,只保留有限的对外接口是之与外部发生联系。只保留有限的对外接口是之与外部发生联系。封封装装的的思思想想是是将将对对象象内内部部的的信信息息进进行行屏屏蔽蔽,人人们们只只能能通通过过对对象象界界面面上上的的允允许许操操
8、作作对对对对象象进进行动作,改变对象的属性及状态。行动作,改变对象的属性及状态。3.1.1 面向对象的概念面向对象的概念 -对对象象 对对象象的的封封装装使使我我们们不不必必关关心心诸诸如如对对象象行行为为是是如如何何实实现现的的这这样样一一些些细细节节;同同时时,实实现现了了模模块块化化和和信信息息隐隐藏藏,这这样样保保证证了了程程序序的的可可移移植植性性和和安安全全性性,也也有有利利于于对对复复杂杂对象的管理。对象的管理。3.1.1 面向对象的概念面向对象的概念 -对对象象 界界面面对象的形象表示对象的形象表示操作操作1操作操作2操作操作3状态状态S操作操作1,2,3的实现的实现3.1.1
9、 面向对象的概念面向对象的概念 -对对象象 “类类”就就是是对对具具有有相相同同数数据据和和相相同同操操作作的的一一组组相相似似对对象象的的定定义义,也也就就是是说说,类类是是对对具具有有相相同同属属性性和和行行为为的的一一个个或或多多个个对对象象的的描描述述,通通常常在在这这种种描描述述中中也也包包括括对对怎怎样样创创建建该该类类的的新新对对象的说明。象的说明。通通过过类类的的定定义义可可以以实实现现代代码码的的复复用用。我我们们不不用用去去描描述述每每一一个个对对象象,而而是是通通过过创创建建类类的的一一个个实实例例来来创创建建该该类类的的一一个个对对象象,这这样样大大大大简简化化了软件的
10、设计。了软件的设计。3.1.1 面向对象的概念面向对象的概念 -类类 实实例例就就是是由由某某个个特特定定的的类类所所描描述述的的一一个个具具体对象体对象new。方方法法就就是是对对象象所所能能执执行行的的操操作作,方方法法描描述述了对象执行操作的算法,响应消息的方法。了对象执行操作的算法,响应消息的方法。属属性性就就是是类类中中所所定定义义的的数数据据,它它是是对对客客观观世界试题所具有的性质的抽象。世界试题所具有的性质的抽象。3.1.1 面向对象的概念面向对象的概念 -消消息息就就是是要要求求某某个个对对象象执执行行在在定定义义它它的的那那个个类类中中所所定定义义的的某某个个操操作作的的规
11、规格格说说明明。通通常常,消息由下述三部分组成:消息由下述三部分组成:消息的接收者消息的接收者 接收对象应采用的方法接收对象应采用的方法 方法所需要的参数方法所需要的参数3.1.1 面向对象的概念面向对象的概念 -消消息息 例例如如,Mycircle是是一一个个半半径径4cm、圆圆心心位位于于(100,200)的的Circle类类的的对对象象,也也就就是是Circle类类的的一一个个实实例例,当当要要求求它它以以绿绿色色在在屏屏幕幕上上显显示示自自己己时时,在在C+语语言言中中应应该该向向它它发发出出下下列消息:列消息:Mycircle.Show(GREEN);Mycircle是消息的接收者;
12、是消息的接收者;Show是接收对象应是接收对象应采用的方法;采用的方法;GREEN是方法所需要的参数。是方法所需要的参数。当当Mycircle接收到这个消息后,将执行接收到这个消息后,将执行Circle类中所定义的类中所定义的Show操作。操作。3.1.1 面向对象的概念面向对象的概念 -消消息息 封封装装是是指指把把对对象象的的属属性性和和行行为为结结合合成成一一个个独独立立的的系系统统单单位位,尽尽可可能能隐隐藏藏对对象象的的内内部部细细节节,只保留有限的对外接口是之与外部发生联系。只保留有限的对外接口是之与外部发生联系。封封装装的的思思想想是是将将对对象象内内部部的的信信息息进进行行屏屏
13、蔽蔽,人人们们只只能能通通过过对对象象界界面面上上的的允允许许操操作作对对对对象象进进行动作,改变对象的属性及状态。行动作,改变对象的属性及状态。对对象象的的封封装装使使我我们们不不必必关关心心诸诸如如对对象象行行为为是是如如何何实实现现的的这这样样一一些些细细节节;同同时时,实实现现了了模模块块化化和和信信息息隐隐藏藏,这这样样保保证证了了程程序序的的可可移移植植性性和安全性,也有利于对复杂对象的管理。和安全性,也有利于对复杂对象的管理。3.1.1 面向对象的概念面向对象的概念 -封封装装 广广义义地地说说,继继承承是是指指能能够够直直接接获获得得已已有有的的性性质质和和特特征征,而而不不必
14、必重重复复的的定定义义它它们们。在在面面向向对对象象程程序序设设计计中中,继继承承是是子子类类自自动动地地共共享享基基类类(父类)中定义的属性和方法的机制。(父类)中定义的属性和方法的机制。面面向向对对象象程程序序设设计计的的许许多多强强有有力力的的功功能能和和突突出出的的优优点点,都都来来源源于于把把类类组组成成一一个个层层次次结结构构的的系系统统(类类等等级级):一一个个类类的的上上层层可可以以有有父父类类,下下层层可可以以有有子子类类。这这种种层层次次结结构构系系统统的的一一个个重重要要性性质质是是继继承承性性,一一个个类类直直接接继继承承其其父父类类的的全全部描述(数据和操作)。部描述
15、(数据和操作)。3.1.1 面向对象的概念面向对象的概念 -继继承承 鸟鸟:全全身身有有羽羽毛毛,后后肢肢能能行行走走,有有翅翅膀膀能能飞的一种动物。飞的一种动物。鹂鹂li:(黄黄莺莺ying)羽羽毛毛黄黄色色,从从眼眼边边到到头头后部有黑色斑纹,叫的声音很好听的一种后部有黑色斑纹,叫的声音很好听的一种鸟鸟。鹂鹂li:(黄黄莺莺ying)羽羽毛毛黄黄色色,从从眼眼边边到到头头后后部部有有黑黑色色斑斑纹纹,叫叫的的声声音音很很好好听听的的一一种种全全身身有羽毛,后肢能行走,有翅膀能飞的动物。有羽毛,后肢能行走,有翅膀能飞的动物。3.1.1 面向对象的概念面向对象的概念 -继继承承 实现继承机制的
16、原理:实现继承机制的原理:A的操作的操作A的变量的变量类类Aa1(类类A的实例)的实例)类类A类类A的实例变量的实例变量类类B(A的子类)的子类)b1(类类B的实例)的实例)从从A继承的特性继承的特性B的操作的操作B的变量的变量类类B从从A继承的实例变量继承的实例变量类类B的实例变量的实例变量3.1.1 面向对象的概念面向对象的概念 -继继承承 继继承承具具有有传传递递性性,如如果果类类C继继承承类类B,类类B继继承承类类A,则则类类C继继承承类类A。因因此此,一一个个类类实实际际上上继继承承了了它它所所在在的的类类等等级级中中在在它它上上层层的的全全部部基基类类的的所所有有描描述述,也也就就
17、是是说说,属属于于某某类类的的对对象象除除了了具具有有该该类类所所描描述述的的性性质质外外,还还具具有有类类等等级级中中该类上层全部基类描述的一切性质。该类上层全部基类描述的一切性质。当当一一个个类类只只允允许许有有一一个个父父类类时时,类类的的继继承承是是单单一一继继承承;当当允允许许一一个个类类有有多多个个父父类类时时,类类的继承是多重继承。的继承是多重继承。3.1.1 面向对象的概念面向对象的概念 -继继承承 在在一一般般类类中中定定义义的的属属性性或或方方法法被被子子类类继继承承以以后后,可可以以具具有有不不同同的的数数据据类类型型或或表表现现出出不不同同的行为。的行为。同同一一个个属
18、属性性或或方方法法在在一一般般类类及及其其各各个个子子类类中具有不同的语义。中具有不同的语义。3.1.1 面向对象的概念面向对象的概念 -多多态态 在在OOP中中,子子类类可可以以把把父父类类的的方方法法重重新新定定义义,使使之之具具有有新新的的功功能能,而而方方法法名名,参参数数、返返回类型与父类相同。回类型与父类相同。这这种种技技术术称称为为方方法法覆覆盖盖(override)或或者者重写重写(rewrite)。)。3.1.1 面向对象的概念面向对象的概念 -覆覆盖盖修修饰饰符符 class 类类名名 extends 父父类类名名 implements 接接口口名名 类型类型 成员变量成员
19、变量;修饰符修饰符 类型类型 成员方法成员方法(参数列表参数列表)类型类型 局部变量;局部变量;方法体;方法体;3.1.2 类的定义类的定义1访问控制符访问控制符 public:公共类,说明这是一个公共类,公共类,说明这是一个公共类,可以被其它任何类引用和调用可以被其它任何类引用和调用 不写访问控制符,表示类只能被本包不写访问控制符,表示类只能被本包的其它类访问。的其它类访问。3.1.3 类的修饰类的修饰2抽象类抽象类abstract 以以abstract作为关键字,如果有的话,作为关键字,如果有的话,应该放在访问控制符后面,表示这个类应该放在访问控制符后面,表示这个类是个抽象类。是个抽象类。
20、抽象类不能直接产生实例化一个对抽象类不能直接产生实例化一个对象,它只能被继承。象,它只能被继承。3.1.3 类的修饰类的修饰2抽象类抽象类abstract 抽抽象象类类是是指指包包含含至至少少一一个个抽抽象象方方法法的的类类,并并且且抽抽象象类类不不能能被被实实例例化化,抽抽象象类类由由修修饰饰词词abstract声明声明。抽抽象象方方法法是是指指有有访访问问修修饰饰词词(publicpublic、private.)private.)、返返回回值值类类型型(intint、void.)void.)、方方法法名名和和参参数数列列表表,而而无无方方法法体体且且无无包包容容方方法法体体的花括号的花括号
21、的方法。的方法。如如果果类类中中有有抽抽象象方方法法,那那么么类类必必须须声声明明为抽象类,包含有抽象方法的类不能实例化。为抽象类,包含有抽象方法的类不能实例化。3.1.3 类的修饰类的修饰 抽抽象象类类只只能能由由其其它它类类继继承承使使用用,自自己己不不能能产产生生出出对对象象实实体体。子子类类在在继继承承抽抽象象类类时时,必必须须重重写写其其父父类类的的抽抽象象方方法法,给给出出具具体体的的定定义。义。抽象类的作用是:抽象类的作用是:(1)将将许许多多类类共共享享的的数数据据和和方方法法组组成成一一个类,但不提供一个完整的实现。个类,但不提供一个完整的实现。(2)强迫子类实现特定的方法。
22、强迫子类实现特定的方法。Java规规定定,构构造造方方法法、静静态态方方法法和和私私有有方法不能成为抽象方法。方法不能成为抽象方法。3.1.3 类的修饰类的修饰abstract class A abstract class A int a;int a;int b;int b;int max(int a,int b);int max(int a,int b);3.1.3 类的修饰类的修饰3最终类最终类final 以以 final 作为关键字,如果有的话,作为关键字,如果有的话,应该放在访问控制符后面,表示这个类应该放在访问控制符后面,表示这个类是个最终类,也就是说最终类不能被继是个最终类,也就是
23、说最终类不能被继承,不能再派生出其它子类。承,不能再派生出其它子类。String 就是个就是个 final 类。类。3.1.3 类的修饰类的修饰1类的属性类的属性 声明类的属性为简单变量的格式是:声明类的属性为简单变量的格式是:修饰符修饰符 变量类型变量类型 变量名变量名=初值初值 修饰符包括访问控制修饰符、静态修修饰符包括访问控制修饰符、静态修饰符饰符static、最终说明符最终说明符final。3.1.4 属性和方法的声明属性和方法的声明1类的属性类的属性 private:私有,此成员只能在类的内部使用私有,此成员只能在类的内部使用 default:也可以不写访问控制符,成员可被本包的也可
24、以不写访问控制符,成员可被本包的其它类访问。其它类访问。protected:被保护,成员可被本包的所有类访问,被保护,成员可被本包的所有类访问,也可以被声明它的类和派生的子类访问(家庭成员)也可以被声明它的类和派生的子类访问(家庭成员)。public:公共,成员可被所有类访问。公共,成员可被所有类访问。3.1.4 属性和方法的声明属性和方法的声明2方法方法声明类的方法的格式是:声明类的方法的格式是:修饰符修饰符 返回值类型返回值类型 方法名方法名(形式参数列(形式参数列表)表)throws 异常名列表异常名列表 .3.1.4 属性和方法的声明属性和方法的声明2方法方法 方法的修饰符很多,包括访
25、问控制符、方法的修饰符很多,包括访问控制符、静态修饰符静态修饰符 static、抽象方法修饰符抽象方法修饰符abstract、最终方法最终方法 final、同步修饰符同步修饰符synchronized、本地修饰符本地修饰符native。3.1.4 属性和方法的声明属性和方法的声明3方法的覆盖方法的覆盖 类层次结构中,如果子类中的一个方类层次结构中,如果子类中的一个方法与父类中的方法有相同的法与父类中的方法有相同的方法名方法名并具有并具有相同相同数量数量和和类型类型的的参数列参数列表,则称子类中表,则称子类中的方法的方法覆盖覆盖了父类中的方法。了父类中的方法。通过通过 子类引用覆盖方法时,总是引
26、子类引用覆盖方法时,总是引用子类定义的方法,而父类中定义的方法用子类定义的方法,而父类中定义的方法被隐藏。被隐藏。3.1.4 属性和方法的声明属性和方法的声明3方法的覆盖方法的覆盖 在子类中,若要使用父类中被隐藏的在子类中,若要使用父类中被隐藏的方法,可以使用方法,可以使用super关键字。关键字。3.1.4 属性和方法的声明属性和方法的声明Page 59 例例3-2 OverrideDemo.java3方法的重载方法的重载 在在Java类中可以创建名字相同,但是类中可以创建名字相同,但是参数不同和返回值不同的几个方法,这就参数不同和返回值不同的几个方法,这就是是方法重方法重(zhong)载载
27、。Java系统通过参数系统通过参数和返回值来分辨具体是哪一个方法和返回值来分辨具体是哪一个方法3.1.4 属性和方法的声明属性和方法的声明Page 60 例例3-3 OverLoadDemo.java 在在现现实实世世界界中中类类与与它它描描述述的的对对象象有有很很明明显显地地区区别别,类类是是一一个个概概念念,而而实实际际对对象象是是一一个个实实体体。如如某某一一个个机机械械零零件件图图是是一一个个类类,按按照照设设计计图图加加工工制制造造的的零件就是该类描述的一个对象。零件就是该类描述的一个对象。类类是是对对象象的的原原型型(抽抽象象模模型型),对对象象是是具具有有类类指指定定特特性性和和
28、方方法法的的实实体体,由由类类得得到到对对象象的的过过程程称称为为类类的的实实例例化化。正正如如按按同同一一机机械械零零件件图图可可以以造造出出很很多多相似的零件一样,由同一类也可以生成许多对象。相似的零件一样,由同一类也可以生成许多对象。3.2 对象的实例化对象的实例化 对象和现实生活中的事物一样,有对象和现实生活中的事物一样,有它的产生、发展和消亡的过程,在它的产生、发展和消亡的过程,在JavaJava中称之为对象的中称之为对象的创建创建、使用使用和和释放释放,这,这一过程称为对象的一过程称为对象的生命周期生命周期。3.2 对象的实例化对象的实例化 对象实例化的格式是:对象实例化的格式是:
29、类型类型 对象名对象名=new 类型类型(参数列表参数列表);其其中中,“类类型型”表表示示对对象象的的类类型型,必必须须是是复复合合类类型型,包包括括类类、字字符符串串等等,“对对象象名名”是是一一个个合合法法的的标标识识符符。“参参数数列列表表”要要根根据据类类的的形形式式参参数数确确定定,与与之匹配之匹配。3.2.1 对象的实例化对象的实例化 public class Person String name;int age;float salary;public void work ()System.out.println(Im a engineer!);生成一个对象生成一个对象 li 的
30、方法是:的方法是:Person li=new Person();3.2 对象的实例化对象的实例化1.引用对象的属性(变量)引用对象的属性(变量)类的成员(包括成员属性和成员方法)类的成员(包括成员属性和成员方法)必须要在产生对象即实例化后才能被引用,必须要在产生对象即实例化后才能被引用,引用的方法是:引用的方法是:对象名对象名.成员成员 Person li =new Person();li.name =Li ming;new Person().name =Li ming;3.2.2 对象的引用对象的引用2引用对象的方法引用对象的方法 格式:格式:对象引用对象引用.方法名方法名(参数列表参数列表
31、);3.2.2 对象的引用对象的引用Page 62 例例3-4 TestPerson.java1基本数据类型的参数传递基本数据类型的参数传递 基基本本类类型型的的变变量量作作为为实实参参传传递递,并并不不能能改改变变这个变量的值这个变量的值。方方法法中中的的形形式式参参数数相相当当于于局局部部变变量量,方方法法调调用用结结束束后后自自行行释释放放,不不会会影影响响到到主主程程序序中中的的同同名名变量变量。3.2.3 方法的参数传递方法的参数传递Page 63 例例3-5 PassValue.java2引用变量的参数传递引用变量的参数传递 引引用用数数据据类类型型的的参参数数调调用用可可以以改改
32、变变对象的内容对象的内容。3.2.3 方法的参数传递方法的参数传递Page 63 例例3-6 PassRef.java Java运运行行时时系系统统通通过过垃垃圾圾收收集集器器周周期期性性地地释释放放无无用用对对象象所所占占的的内内存存,以以完完成成对对象的清除象的清除。Java的的垃垃圾圾收收集集器器自自动动扫扫描描对对象象的的动动态态内内存存空空间间,对对正正在在使使用用的的对对象象加加上上标标记记,将将所所有有引引用用的的对对象象作作为为垃垃圾圾收收集集起起来来并并释释放放。3.2.4 对象的消失对象的消失3.3.1 构造方法的定义构造方法的定义 构造方法的特征:构造方法的特征:具有与类
33、相同的名称具有与类相同的名称 不含返回类型不含返回类型 不能在方法中用不能在方法中用return语句返回一个值语句返回一个值 在类实例化时,它会由系统自动调用在类实例化时,它会由系统自动调用 3.3 构造方法构造方法Page 64 例例3-7 TestPerson.java 一一个个类类的的构构造造方方法法可可以以有有多多个个,而而且且还还可可以进行重载。以进行重载。3.3.2 构造方法的重载构造方法的重载Page 65 例例3-8 TestPerson.java 构造方法总结:构造方法总结:一一个个类类的的构构造造方方法法可可以以有有多多个个,而而且且还还可可以以进进行行重载。重载。每每个个
34、类类至至少少有有一一个个构构造造方方法法,如如果果用用户户没没有有定定义义,系系统统自自动动产产生生一一个个默默认认构构造造方方法法,没没有有参参数数,也也没没有有方法体。方法体。用用户户可可以以定定义义构构造造方方法法,如如果果定定义义了了构构造造方方法法,则系统不再提供默认构造方法。则系统不再提供默认构造方法。构造方法一般是构造方法一般是public的,不可定义为的,不可定义为private的。的。3.3.2 构造方法的重载构造方法的重载3.4.1 this this在方法体用来指向引用当前正在执在方法体用来指向引用当前正在执行方法的那个对象实例行方法的那个对象实例。以例以例 3-8 举例
35、举例 s name person(String s)name=s;/s实际是代表名字的参数实际是代表名字的参数 3.4 this 与与 super3.4.1 this this(参数表)参数表),这个构造函数就会调用,这个构造函数就会调用同一个类的另一个相同的构造函数同一个类的另一个相同的构造函数。Page 68 UserInfo.java3.4 this 与与 super3.4.2 super 如如果果想想要要使使用用父父类类的的构构造造函函数数则则应应当使用当使用super(参数列表参数列表)的形式。的形式。3.4 this 与与 superPage 68 City.javaJava 提提
36、供供了了String 和和 StringBuffer 两两个个类类来来封封装装对对字字符符串串的的各各种种操操作作。都都是是 final类,不能被其它类所继承。类,不能被其它类所继承。String:内容不能变内容不能变StringBuffer:内容可以改变内容可以改变3.6 字符串的处理字符串的处理String s=Hello Java World!;StringBuffer s =new StringBuffer(Hello);3.6.1 字符串的生成字符串的生成 StringBuffer.toString()-String Java提提供供了了连连接接运运算算符符+,可可将将其其它它各各类
37、类型型的的数数据据转转换换为为字字符符串串,并并连连接接形形成成新新的的字字符符串串,+运运算算是是通通过过StringBuffer类类和和它它的的append方法实现的。方法实现的。String s=a+4+c;String s=new StringBuffer().append(a).append(4).append(c).toString();3.6.2 字符串的访问字符串的访问1length()2charAt(int n)3toLowerCase()4toUpperCase()5subString(int beginIndex)subString(int beginIndex,int
38、endIndex)s1=Computer;s2=s1.subString(2,5);/mpu6replace(char oldChar,char newChar)3.6.3 String 类的常用方法类的常用方法 3.7.1 html格式的格式的JDK文档文档 主主界界面面由由两两大大部部分分组组成成:一一部部分分是是导导航航标标题题,另一部分是结构图另一部分是结构图 1导航栏导航栏导导航航栏栏包包括括Search、General Info、API&Language、Guide to Features、Tool Docs、Demos/Tutorials共共6个项目个项目 3.7 JDK 的帮助
39、系统的帮助系统2JAVA平台结构平台结构JAVA平平台台结结构构由由7部部分分组组成成,每每一一部部分分又又包包括若干链接对象括若干链接对象 Development Tools&APIS,Development Technologies,User Interface Toolskit,Integration APIS,Core APIS,Java Virtual Machine,Platforms 3.7.1 Html格式的格式的JDK文档文档 chm格格式式的的JDK文文档档具具有有更更加加强强大大的的查询功能,更加适合于初学者使用。查询功能,更加适合于初学者使用。如如:要要查查类类Integer的的方方法法和和有有关关内内容容,在在左左边边“索索引引”标标签签处处,输输入入要要查查找找的的关关键键 字字 Integer,并并 回回 车车,系系 统统 会会 显显 示示 与与Integer有关的类、方法、包。有关的类、方法、包。它它可可以以提提供供类类的的继继承承关关系系、构构造造方方法法、常量、方法等详细信息。常量、方法等详细信息。3.7.2 CHM格式的格式的 JDK 文档文档
限制150内