第5章 继承、接口与泛型(09级).pptVIP

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 继承、接口与泛型(09级)

第5章 继承、接口与泛型 ?本章导读 1. 子类与父类 2. 子类的继承性 3. 子类对象的构造过程 4. 成员变量隐藏和方法的重写 5. super关键字 6. final类与final方法 7. 对象的上转型对象 第5章 继承、接口与泛型 8. 继承与多态 9. 使用abstract类 10.面向抽象 11.接口 12.接口回调 13.面向接口 14.抽象类与接口的比较 15.内部类 16.匿名类 17.异常类 18.泛型类 5.1 Java中的继承 继承是一种由已有的类创建新类的机制。 由继承而得到的类称为子类,被继承的类称为父类(超类)。 所谓类继承就是子类继承父类的成员变量和方法作为自己的成员变量和方法,就好象它们是在子类中直接声明一样。 子类和父类在同一包中的继承性: 子类继承父类中不是private的成员变量和方法。继承的成员变量以及方法的访问权限保持不变。 子类和父类不在同一包中的继承性: 子类只能继承父类的protected、public成员变量和方法,继承的成员或方法的访问权限不变。子类不能继承父类的友好变量和友好方法。 利用继承有利于实现代码的重复使用,子类只需要添加新的功能代码即可。 Java不支持多重继承,即子类只能有一个父类。 Java中所有的类都是Object类的子孙类。 JAVA使用关键字extends来声明一个类是另外一个类的子类,格式如下: class 子类名 extends 父类名 { … .. } 一、 子类对象的构造过程 当用new运算符创建一个子类对象时,先调用父类的某个构造方法(为父类中定义的成员变量分配空间),再调用子类的构造方法(为子类中定义的成员变量分配空间)。 子类创建对象的过程可理解如下: (1)将子类中声明的成员变量做为子类对象的成员变量。 (2)父类的成员变量也都分配了内存空间,但只将其中一部分(继承的那部分)作为子类对象的成员变量。 Son son=new Son(); Father f=son; 二、 成员变量的隐藏和方法的重写 1.成员变量的隐藏 当在子类中定义和父类中同名的成员变量时(类型可不同),子类就隐藏了继承的成员变量。 2.方法重写 子类通过方法重写来隐藏继承的方法。方法重写是指:子类中定义一个方法,并且这个方法的名字、返回类型、参数个数和类型与从父类继承的方法完全相同。 重写父类的方法时不可以降低方法的访问权限。 如果子类想使用被隐藏的方法或变量,必须使用关键字super。 三、 Super 关键字 Super关键字有两种用法: 1.使用super调用父类的构造方法 如果子类要显式调用父类的构造方法,要使用super关键字,且super必须是子类构造方法中的第一条语句。 2.使用super操作被隐藏的成员变量和方法 如果在子类中想使用被子类隐藏的成员变量或方法就可以使用关键字super 。 四、final 类和final方法 final类不能被继承,即不能有子类,如: final class A { … } 将一个类声明为final类一般是由于安全性考虑。 final方法不能被重写,即不允许子类通过重写隐藏继承的final方法。 五、对象的上转型对象 由子类创建对象,将对象的引用赋值给由父类声明的对象。例: 六、 继承与多态 由于父类的某个方法可以被多个子类重写,这样不同子类创建的对象的上转型对象调用同一方法可能产生不同的行为,这即是与继承有关的多态性。 七、 abstract类(抽象类) 用关键字abstract修饰类称为abstract类(抽象类)。如: abstract class A { abstract int min(int x,int y);//抽象方法 int max(int x,int y){ //实例方法 return xy?x:y; } } abstract类不能用new运算符创建对象,必须产生其子类,由子类创建对象。 若abstract类的类体中有abstract方法,只允许声明,而不允许实现,而该类的子类必须实现abstract方法,即重写父类的abstract方法。 一个abstract类只关心子类是否具有某种功能,不关心功能的具体实现。具体实现由子类负责。 八、 面向抽象编程 面向抽象的核心思想如下: (1)抽象细节 面向抽象的第一步就是将经常需要变化的部分分割出来,将其作为abstract类的中的abs

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档