第6章 子类与继承.pptVIP

  1. 1、本文档共33页,可阅读全部内容。
  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文档。上传文档
查看更多
第6章 子类与继承

信息学院 第6章 子类与继承 Java引人注目的一项特性是代码的重复使用或者再生。 6.1 子类与父类 由继承而得到的类称为子类,被继承的类称为父类或超类, Java不支持多重继承,子类只能有一个父类。 6.2 子类的继承性 6.2 子类的继承性 子类的成员变量与方法中有一部分是子类自己声明定义的,另一部分是从它的父类继承的。 6.2 子类的继承性 6.2 子类的继承性 2. 子类和父类不在同一包中的继承性 如果子类和父类不在同一个包中,那么,子类继承了父类的protected、public 成员变量做为子类的成员变量,并且继承了父类的protected、public方法为子类的方法,但不能继承父类的友好变量和友好方法。 6.2 子类的继承性 6.2 子类的继承性 6.3 成员变量的隐藏和方法重写 6.3.1 成员变量的隐藏和方法的重写 当我们在子类中定义的成员变量和父类中的成员变量同名时,则父类中的成员变量不能被继承,此时称子类的成员变量隐藏了父类的成员变量。 当子类中定义了一个方法,并且这个方法的名字、返回类型及参数个数和类型和父类的某个方法完全相同时,父类的这个方法将被隐藏。我们说子类重写了父类的方法或置换了父类的方法。 子类通过成员变量的隐藏和方法的重写可以把父类的状态和行为改变为自身的状态和行为。 6.3 成员变量的隐藏和方法重写 class Chengji{ float f(float x,float y){ return x*y; } } class Xiangjia extends Chengji{ float f(float x,float y){ return x+y;} } public class Example4_16{ public static void main(String args[]){ Xiangjia sum; sum=new Xiangjia(); float c=sum.f(4,6); System.out.println(c); } } 6.3 成员变量的隐藏和方法重写 对于子类创建的一个对象,如果子类重写了父类的方法,则运行时系统调用子类重写的方法, 如果子类继承了父类的方法而未重写,那么子类创建的对象也可以调用这个方法,只不过方法产生的行为和父类的相同而已。 我们已经知道,如果子类中定义的成员变量和父类中的成员变量同名时,则父类中的成员变量不能被继承,此时称子类的成员变量隐藏了父类的成员变量。 当子类中定义了一个方法,并且这个方法的名字、返回类型、及参数个数和类型和父类的某个方法完全相同时,父类的这个方法将被隐藏,既不能被子类继承下来。 如果我们在子类中想使用被子类隐藏的父类的成员变量或方法就可以使用关键字super。 (1)使用super调用父类的构造方法 子类不能直接继承父类的构造方法,因此子类如果想使用父类的构造方法,必须在子类的构造方法中使用,并且必须使用关键字super 来表示,而且super 必须是子类构造方法中的头一条语句。 例:class Student{ int number; String name; Student(int number,String name){ this.number=number; =name; System.out.println(I am +name+ my number is +number); } } class Univer_Student extends Student{ boolean 婚否; Univer_Student(int number,String name,boolean b){ super(number,name); 婚否=b; System.out.println(婚否=+婚否); } } public class Example4_24{ public static void main(String args[]){ Univer_Student zhang=new Univer_Student(9901,和晓林,false); }

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档