JAVA面向对象特性(个人整理)_第1页
JAVA面向对象特性(个人整理)_第2页
JAVA面向对象特性(个人整理)_第3页
JAVA面向对象特性(个人整理)_第4页
JAVA面向对象特性(个人整理)_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、JAVA面向对象特性面向对象三大特性:封装、继承、多态。一、 封装:1.概念:将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问2.好处: a.只能通过规定的方法访问数据b.隐藏类的实例细节,方便修改和实现3.封装的实现步骤:a.修改属性的可见性(设为private)b.创建getter/setter方法(用于属性的读写)c.在getter/setter方法中加入属性控制语句(对属性值的合法性进行判断)4.JAVA内部类: a.概念:定义在另外一个类里面的类。(包含内部类的类叫做外部类)b.作用:1内部类提供了更好的封装,可以把内部类隐藏在

2、外部类之内不允许同一个包中的其他类访问该类2内部类的方法可以直接访问外部类的所有数据,包括私有数据3内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便c.种类:成员、静态、方法、匿名内部类d.成员内部类:定义成员内部类之后,必须使用外部类对象来创建内部类对象,不能直接去new一个内部类对象:内部类 对象名=外部类对象.new内部类(注意:1. 外部类不可以直接使用内部类的成员和方法;如需使用内部类成员和方法,需先创建内部类对象,然后通过内部类的对象来访问其成员和方法Inner inner = new Inner(; /在外部类中创建内部类对象2. 如果外部类和内部类具有相同的成

3、员变量或方法,内部类默认访问自己的成员变量方法,如果要访问外部类的成员变量,可以使用this关键字Outer.this.a; /Outer是外部类,a是外部类变量e.静态内部类:用static修饰的内部类1静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类(.成员 的方式访问2如果外部类的静态成员与内部类的成员名称相同,可通过 类名.静态成员 访问外部类的静态成员,如果外部类的静态成员与内部类的成员名称不同,则可通过 成员名 直接调用外部类的静态成员3创建静态内部类的对象时,不需要外部类的对象,可以直接创建内部类 对象名=new 内部类(;f.方法内部类:内部类定义在外部类的

4、方法中,方法内部类只在该方法的内部可见,即只在该方法内可以使用(不能使用访问控制符和static修饰符综合: 结果:访问修饰符:可以修饰属性和方法的访问范围访问修饰符本类同包子类其他Private默认ProtectedPublic二、 继承:1 概念:类与类的一种关系 父类:基类 子类:派生类 JAVA中的继承是单继承,一个子类只有一个父类2 好处:子类拥有父类的所有属性和方法 private修饰的无效3 语法规则:class 子类 extends 父类4 方法的重写:如果子类对继承父类的方法不满意,可以重写父类继承的方法,当调用方法时会优先调用子类的方法a 规则:返回值类型,方法名,参数类型

5、及个数都与父类继承的方法相同,才叫方法的重写5 继承的初始化顺序:初始化父类再初始子类;先执行初始化对象中的属性,在执行构造方法中的初始化6 final关键字:使用final关键字做标识有“最终的含义”final可以修饰类、方法、属性、变量如果final修饰类,则该类不允许被继承如果final修饰方法,则该方法不允许被覆盖(重写)如果final修饰属性,则该类的属性不会进行自动初始化如果final修饰变量,则该变量的值只能赋一次值,即变为常量7 super关键字:在对象的内部使用,可以代表父类对象访问父类的变量:super.变量名访问父类的方法:super.方法名注意:与this区分开,thi

6、s指向调用当前方法的变量;super只指向父类三、 多态:使用多态的时候两个类一定要有一个继承关系1. 引用多态:父类的引用可以指向本类的对象父类的引用可以指向子类的对象父类 对象名=new 父类对象(父类 对象名=new 子类对象(2. 方法多态创建本类对象时,调用的方法为本类方法创建子类对象时,调用的方法为子类重写的方法或者继承的方法通过父类的引用调用子类的方法必须是父类有的方法(即子类继承或重写的方法),不能调用子类独有的方法3. 引用类型转换a. 向上类型转换:小类型到大类型的转换b. 向下类型转换:大类型到小类型的转换c. instanceof运算符:避免类型转换的完全性问题返回布尔

7、值,一般跟if使用4. 抽象类:抽象类前使用abstract关键字修饰,则该类为抽象类作用:限制规定子类必须实现某些方法,但不关注实现细节使用规则:1abstract定义抽象类2abstract定义抽象方法,只有声明,不需要实现3包含抽象方法的类是抽象类4抽象类中可以包含普通的方法,也可以没有抽象方法5抽象类不能直接创建,可以定义引用变量注意:定义抽象类的顺序:acstract class 5. 接口:可以理解为一种特殊的类,由全局常量和公共的抽象方法组成a定义:和类的定义不同,定义接口不适用class关键字,而是使用interface关键字b创建接口: 修饰符 interface 接口名ex

8、tends 父接口1,父接口2,零到多个常量定义零到多个抽象方法的定义注意:接口是用来被继承、被实现的,如果不加abstract系统会自动加上,接口中的方法不能有方法体,修饰符一般用public,不能用private和protected修饰接口c使用接口:一个类可以实现一个或多个接口,实现接口用implements关键字,Java中一个类只能继承一个父类,不灵活,通过实现多个接口可以做补充注意:如果一个类既要继承父类,又要继承接口,则先继承父类再继承接口,既:先用extends再用implementsd接口在使用过程当中,还经常与匿名内部类配合使用匿名内部类就是没有名字的内部类,多用于实现而不关注实现类的名称父类: 接口子类:主函数结果:四、 UML1. 概念:统一建模语言或标准建模语言,是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持2. 常用UML图:a 用例图:能够以可视化的方式,表达系统如何满足所收集的业务规则,以及特定的用户需求等信息 b 序列图:用于按照交互发生的一系列顺序,显示对象之间的这些交互c 类图:UML类图、业务逻辑和所有支持结构一同被用于定义全部的代码结构3. 常用的建模工具:a Rational Rose(IBM:b Microsoft Office Visio(Microsoft

温馨提示

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

评论

0/150

提交评论