《TP继承和多态》PPT课件.ppt

《TP继承和多态》PPT课件.ppt

ID:52066518

大小:319.00 KB

页数:17页

时间:2020-03-31

《TP继承和多态》PPT课件.ppt_第1页
《TP继承和多态》PPT课件.ppt_第2页
《TP继承和多态》PPT课件.ppt_第3页
《TP继承和多态》PPT课件.ppt_第4页
《TP继承和多态》PPT课件.ppt_第5页
资源描述:

《《TP继承和多态》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第十章Java的继承与多态Java中的继承学习目标:继承的概念与实现;域的隐藏与方法的覆盖;编译时多态;运行时多态.Java中的继承前面已经讲完了抽象与封装,下面让我们进入面向对象的第二大基本特征–继承的学习。继承是指一个子类通过extends关键字,包含了它父类的属性和方法。继承的格式:[修饰符]classAextendsB{类体代码}其中A是子类,B是父类。继承在java中,不支持多继承,也就是说,一个子类,只能继承一个父类。父类子类父类1父类2子类不过,可以利用接口,间接的实现多继承继承clas

2、sRen{publicStringsizhi;publicStringpifu;publicvoidchi(){System.out.println("我在吃饭!");}}classChinaextendsRen{china(Stringstr){pifu=str;System.out.println("中国人构造成功,皮肤是"+pifu+"的!");}}classTech3_5{publicstaticvoidmain(Stringargs[]){Chinamy=newChina("黄色");my.

3、sizhi="我也有四肢!";my.chi();}}子类与父类的访问控制关系父类中的public方法在子类中被继承为public;父类中的protected方法在子类中被继承为protected或private;父类中的friendly方法在子类中被继承为friendly;父类中的private的方法不被继承。this和super关键字this:表示对当前对象的引用,不过在静态(static)方法里是没有this的,因为静态数据是所有对象的共享数据区域,不属于任何一个对象。super:表示对直接父类对

4、象的引用,可以直接用super.xxx或super.xxx()来调用父类的属性和方法。注意:this()和super()用在类的构造函数中时,必须是该函数的第一句代码。域的隐藏与方法的覆盖域的隐藏:子类重新定义了一个与父类那里继承来的域变量完全相同的变量,子类将使用它自己的重名变量,这称为域的隐藏。方法的覆盖:指子类重定义从父类继承来的一个同名方法,此时子类将清除父类方法的影响。子类可以通过重新定义与父类同名的方法,实现自身的行为。方法的覆盖注意:方法的覆盖也叫方法的重写,它是一种运行时多态。重写所需

5、的条件如下:方法名相同;参数列表相同;返回类型相同;子类方法的访问控制符范围要大于或等于父类方法的范围;子类方法的异常范围不能超越父类被重写的方法的异常范围。隐藏与覆盖举例classParent{inti=8;publicvoidshow(){System.out.println(i);System.out.println("kkk");}}classTestHiddenextendsParent{inti=9;publicvoidshow(){System.out.println(i);System

6、.out.println(this.i);System.out.println(super.i);System.out.println(newParent().i);System.out.println("lll");}publicstaticvoidmain(String[]g){newTestHidden().show();}}多态面向对象程序设计的基本特征之三-多态的学习。多态分为两种类型:1、编译时多态;2、运行时多态。首先,我们来学习编译时多态,编译时多态指的是方法的重载(overload)

7、。编译时多态-方法的重载方法的重载:通过定义同一类中的多个同名的不同方法来实现的;编译时则根据参数(个数、类型、顺序)的不同来区分不同的方法。重载的条件:方法名相同;参数列表必须有所区别;注意:返回类型不必相同。编译时多态classJuxing_2{intzouchang;intmianji;Stringstr;Juxing_2(){System.out.println("我是无参数的初始化!!!");}Juxing_2(inta){zouchang=a;System.out.println("我是有

8、参数的初始化!!!");}Juxing_2(inta,intb){zouchang=a;mianji=b;System.out.println("我是参数个数不同的初始化!!!");}Juxing_2(Stringa){str=a;System.out.println("我是参数类型不同的初始化!!!");}}classTech3_3{publicstaticvoidmain(Stringargs[]){Juxing_2my1=newJuxing_2()

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

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

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