Java4_5_6_7.ppt

Java4_5_6_7.ppt

ID:48850708

大小:383.00 KB

页数:93页

时间:2020-01-31

Java4_5_6_7.ppt_第1页
Java4_5_6_7.ppt_第2页
Java4_5_6_7.ppt_第3页
Java4_5_6_7.ppt_第4页
Java4_5_6_7.ppt_第5页
资源描述:

《Java4_5_6_7.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、4.1继承的基础4.2super关键字4.3多层继承4.4方法的重写(多态与继承)4.5动态方法调度4.6abstact关键字4.7final关键字4.8本章小结第4章继承继承是面向对象编程的一个重要特性。继承与人类认识客观世界的过程是息息相关的。【4.1继承的基础】在Java中,我们把“学生”类称为超类,“大学生”类称为子类。在实际应用中为了更符合自然现象,超类也可以称为基类或父类,相应的也可以把子类称为派生类。在本书中,我们采用直译的方法把superclass翻译为超类,把subclass翻译为子类。一个超类可以有多个子类,每个子类是唯一的,与其他子类互不相同,子类又可以作为其

2、他子类的超类。◆继承的格式为实现继承,Java语言使用了extends关键字,其格式如下:class子类名extends超类名{类体;}classA{inti;A(){System.out.println("Ainit...");}voidshowi(){System.out.println("i="+i);}}classBextendsA{intj;B(){System.out.println("Binit...");}voidshowj(){System.out.println("j="+j);}}publicclassEx{publicstaticvoidmain(Strin

3、gargs[]){Bb=newB();b.i=10;b.j=20;b.showi();b.showj();}}本程序的运行结果是:Ainit...Binit...i=10j=20protected关键字说明的成员变量和成员方法只能被其子类使用,也就是说,只有子类才能继承使用其超类中被protected关键字修饰的成员变量和成员方法。◆访问控制符protected【例4.3】protected权限的使用。classA{publicinti;privateintj;protectedintk;voidshowA(){System.out.println("i="+i+"j="+j+"k

4、="+k);}}classBextendsA{voidshowB(){System.out.println("i="+i+"k="+k);}}publicclassEx{publicstaticvoidmain(Stringargs[]){Bb=newB();b.i=10;//b.j=20;错误,j是私有的成员变量b.k=30;b.showA();b.showB();}}本程序的运行结果是:i=10j=0k=30i=10k=30【4.2super关键字】◆调用超类构造方法super关键字常见的用法有两种,一种是调用超类的构造方法,另一种是当子类定义了和超类同名的成员变量或成员方法,

5、需要super关键字调用超类的成员变量和成员方法。【例4.4】调用超类的构造方法。classA{privateinti;A(inta){i=a;}voidshowi(){System.out.println("i="+i);}}classBextendsA{privateintj;B(intb){j=b;}voidshowj(){System.out.println("j="+j);}}publicclassEx{publicstaticvoidmain(Stringargs[]){Bb=newB(10);b.showi();b.showj();}}编译出错???【例4.5】调用超

6、类的成员变量。classA{inti;voidshowi(){System.out.println("A.i="+i);}}classBextendsA{inti;B(inta,intb){super.i=a;//使用super访问超类A的成员变量ii=b;}voidshowi(){super.showi();//使用super访问超类A的成员方法showi()System.out.println("B.i="+i);}}publicclassEx{publicstaticvoidmain(Stringargs[]){Bb=newB(5,10);b.showi();}}本程序的运行

7、结果是:A.i=5B.i=10◆调用超类的成员变量【4.3多层继承】Java支持多层继承,例如B类继承了A类,我们称B类为子类,A类是超类。如果C类继承了B类,则相对C类来说,B类是超类。这就好像某人在父亲面前是儿子,在自己儿子面前是父亲,拥有双重身份。classA{privateinti;A(inta){i=a;}voidshowi(){System.out.println("i="+i);}}classBextendsA{privateintj;B(inta,in

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
相关文章
更多
相关标签