Java的继承机制详解.ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java的继承机制详解

Java程序设计 继 承 回顾 方法重载应遵循三大原则; 适当地重载构造方法,可以使初始化对象的方式更为灵活; this引用总是指向调用成员方法的对象本身; 静态成员(包括静态成员属性和静态成员方法)属于类而不是属于某个对象,可以在实例化对象之前通过类名访问; 使用package关键字打包; 使用import关键字导入包或类。 相关词汇(蓝色为关键字) 对象数组(补充) 理解什么是继承 在Java中实现继承,extends关键字 4种访问控制权限 public protected private 缺省 继承中的构造方法 super关键字 对象数组 在Java中不但可以声明由原始数据组成的数组,还可以声明由对象组成的数组; 声明对象数组的方式如: 但上述方式类似于C语言中的: struct Student **p = NULL; p = (struct Student**)malloc(5 * sizeof(struct Student*)); //只是声明了一个指针数组,没有任何实际的结构体变量 对象数组==引用数组 对象数组示例 对象数组的存放形式 面向对象的三大特征 面向对象的程序设计有三大特征: 封装:解决了数据的安全性问题 继承:解决了代码的重用问题 多态:解决了程序的扩展问题 我们来讨论第二大特征——继承。 继承的概念 在现实生活中的继承,可以理解为儿子继承了父亲的财产,即财产重用; 面向对象程序设计中的继承,则是代码重用; 继承是利用现有的类创建新类的过程,现有的类称作基类(或父类),创建的新类称作派生类(子类)。 大学系统人员分类树 继承的概念(续) 最高层是最普遍的、最一般的情况,往下每一层都比上一层更具体,并包含有高层的特征,通过这样的层次结构使下层的类能自动享用上层类的特点和性质; 继承其实就是自动地共享基类中成员属性和成员方法的机制。 在Java中实现继承 在Java中实现继承需要使用到extends关键字; 实现继承的一般语法是: [访问修饰符] class 派生类名 extends 基类名 { 成员列表 } 如: class Student extends Person { …… } 实现继承示例 继承的作用 当今软件设计的特征: 软件规模越来越大; 软件设计者越来越多; 软件设计分工越来越细。 引入继承,实现了代码重用; 引入继承,实现了递增式的程序设计。 继承的作用(续) 继承是能自动传播代码和重用代码的有力工具; 继承能够在某些比较一般的类的基础上建造、建立和扩充新类; 能减少代码和数据的重复冗余度,并通过增强一致性来减少模块间的接口和界面,从而增强了程序的可维护性; 能清晰地体现出类与类之间的层次结构关系。 与继承有关的注意事项 继承是单方向的,即派生类可以继承和访问基类中的成员,但基类则无法访问派生类中的成员; 在Java中只允许单一继承方式,即一个派生类只能继承于一个基类,而不能象C++中派生类继承于多个基类的多重继承方式。 类成员的访问控制权限 信息隐藏是面向对象程序设计的重要特点之一,它可以: 防止类的使用者意外损坏数据; 对任何实现细节所作的修改不会影响到使用该类的其它代码; 使类更易于使用。 在Java中实现信息隐藏的是访问控制权限机制; 访问控制权限包括4个访问修饰符:public、protected、private和缺省; 可以使用上述访问修饰符修饰类的成员。 访问修饰符 访问控制权限(列表) 课堂练习1 课堂练习2 课堂练习3 类的访问权限 还可以在定义类时为类添加访问修饰符,对类进行访问权限控制; 对类使用的访问修饰符只有public和缺省两种; 被public修饰的类可以从任何地方访问,不受限制; 不加访问修饰符,缺省修饰的类只能从本包中访问,不同包则无法访问到; 但要注意的是:在一个源文件中只能有一个被public修饰的类,并且文件名必须与public的类同名; 如果要定义多个public的类,则必须分别写在不同的源文件中,一个源文件只写一个类是良好的编程习惯。 继承中的构造方法 父类中的构造方法不能被子类继承,即便它是public的; 父类的构造方法负责初始化属于它的成员变量,而子类的构造方法则只需考虑属于自己的成员变量,不必去关注父类的情况。 继承中的构造方法示例 构造方法的执行顺序 当实例化子类的对象时,必须先执行父类的构造方法,然后再执行子类的构造方法; 如果父类还有更上级的父类,就会先调用最高父类的构造方法,再逐个依次地将所有继承关系的父类构造方法全部执行; 如果父类的构造方法执行失败,那么子类的对象也将无法实例化。 案例 案例分析 在实例化Circle类对象时,虚拟机一定会先调用其父类(Point类)的构造方法; Poin

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档