面向对象程序设计包继承访问权限_第1页
面向对象程序设计包继承访问权限_第2页
面向对象程序设计包继承访问权限_第3页
面向对象程序设计包继承访问权限_第4页
面向对象程序设计包继承访问权限_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、第四章 面对对象程序设计:包、继承、访问权限包包是java语言有效管理类的方式,将同一个应用的类打入一个包中,把不相关或者是完成不同功能的类放入不同的包中,使得管理类变的更容易。关键字packagepackage语句作为Java源文件的第一条语句,指明该源文件定义的类所在的包。package语句的一般语法格式为:package ;package 包的命名规章:1.使用英文字母作为包的名称。2.包名要求全部使用小写字母表示(多个单词也全部小写)。3.如果包名包含多个层次,每个层次应该用“.”分割。例如:package helloworldpackage com.shxt.hello.world关

2、键字import使用import关键字可以将其他包中的类引入到当前类中以备使用。在编写源文件时,除了自己编写类外,我们常常需要使用Java供应的很多类,这些类可能在不同的包中。如果需要引入其他包中的类,可以使用如下语法格式:import .类名;import关键字1.如果要引入某个包中的全部类,可以使用如下语法格式:import .*;2.在学习Java语言时,使用已经存在的类,避开一切从头做起,是学习面对对象编程的一个重要方面。示例:引包关键字extends(继承)继承是面对对象编程的三大特征之一。 继承是一种基于已有的类创建新类的机制。利用继承,我们可以先创建一个具有共有属性的一般类,依据

3、该一般类再派生出具有特别属性的新类,新类继承一般类的状态(成员变量)和行为(方法),并依据需要增加额外的状态(成员变量)和行为(方法)。由继承而得到的类称为子类(或派生类),被继承的类称为父类(或超类)。Java中每个类只允许有一个父类。语法如下:class extends 访问权限当使用某个类创建了相应的对象之后,可以使用.和.这样的语法格式访问变量和方法。但这种访问是受权限限制的,使用private、protected和public设置相应的权限级别。在java中共有4种访问级别,按访问权限由高到低为:public(公有的)、protected(受保护的)、友好的(没有任何访问权限关键字修

4、饰)和private(私有的)。访问级别规章表:访问级别示例:访问级别 示例:访问级别子类访问父类规章依据访问级别规章表,可知:1.任何类都可以访问其他类的public成员变量和方法;2.子类可以访问父类的protected成员变量和方法;3.所以子类访问父类成员变量和方法的关键在于父类和子类是否在同一个包中。简略表现如下表:成员变量的隐藏和方法重写当子类的成员变量和父类中的成员变量同名(数据类型可以不一样)时,父类的成员变量不能被子类继承(即被子类的成员变量掩盖),此时称子类的成员变量隐藏了父类的成员变量。 当子类方法的名字,返回类型,及参数个数和参数类型与父类的方法完全相同时,父类的同名方

5、法将被隐藏。而这种子类方法掩盖父类方法的现象叫做重写。 成员变量的隐藏和方法重写可以使子类替换父类中并不适合子类的状态(变量)和行为(方法),从而使继承更加敏捷。示例:隐藏和重写子类对象的调用规章对于子类实例化的一个对象,如果在子类中重写了父类的方法,则运行时系统调用子类重写的方法;如果子类继承了父类的方法(未重写),那么子类实例化的对象会调用继承自父类的方法。重写规章:1.子类掩盖父类的同名方法叫做重写,重写必须满足如下条件:(1)方法的返回值类型必须相同。(2)方法的参数个数必须相同。(3)方法的参数对应的数据类型必须相同。(4)子类方法不得降低父类同名方法的访问级别。例如:父类的方法访问

6、权限是protected,则子类重写该方法时必须使用protected或者是public。(也就是说,子类重写方法的访问权限必须大于等于父类同名方法的访问权限)。示例:重写违规如上:子类Whale重写了父类Mammal的run方法,但是将访问权限从public降低到了protected,这是不允许的,违反了重写规章关键字finalfinal关键字可以用来修饰类、方法和变量。1.final修饰的类不能被继承。2.final修饰的方法不能被重写。3.final修饰的变量是常量,不能修改其值。语法示例如下:关键字thisthis关键字表示当前类的内部实例对象,类似于外部实例,但是this可以访问全部

7、级别的成员变量和方法。this使用原则:1.this是当前类的内部对象,所以和类的外部对象访问类成员变量和方法的规章全都,语法:this.和this.2.this只能在当前类的内部使用,但是,不能在static修饰的方法(即类方法)中使用。3.this在实例方法中通常被省略,除非实例方法中包含与成员变量同名的局部变量时,访问成员变量需要使用this。4.当一个类中包含多个构造方法的时,如果其中一个构造方法要调用另外的构造方法时,使用this关键字。示例:thisthis关键字调用同类其他构造方法。类This包含两个构造方法,一个有参数,一个没有参数。调用格式如下:关键字supersuper使用

8、原则:1.super可以访问被子类重写的父类同名方法和被子类隐藏的父类的成员变量。2.可以使用super关键字调用父类的构造方法。如果子类继承父类时,消失了成员变量的隐藏和方法重写,此时子类的对象对应的成员变量和方法都是在子类中重新定义的,如果需要在子类中调用父类被隐藏的成员变量或者被重写的方法,可以使用super关键字。 示例:super被重写 示例:super父类构造1.如果父类供应了构造方法,并且父类不拥有无参构造方法。则要求子类拥有相同结构的构造方法。即:子类构造方法的参数个数和类型必须和父类的构造方法全都。2.如果父类拥有默认的构造方法,子类又没有明确指定调用父类的哪个构造方法,则子类的构造方法隐式的有super()操作; 对象上转型父类声明,子类实例化的对象称为上转型对象。上转型对象特点:1.上转对象不能操作子类新增的成员变量,失掉了这部分属性,不能使用子类新增的方法,失掉了一些功能。2.上转型对象可以操作子类继承或重写的成员变量,也可以使用子类继承的或重写的方法。当上转型对象访问一个被隐藏的成员变量时,访问的是父类的成员变量;当上转型对象访问一个被重写的方法时,访问的是子类的方法;上转型对象变量的原则追寻的是访问权限的原则 而非集成的原则3.如果子类重写了父类的某个方法后,当对象的上转型

温馨提示

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

评论

0/150

提交评论