详解java多态向上转型和向下转型



今天动力节点java培训机构小编为大家介绍“详解java多态向上转型和向下转型”,希望通过此文大家能够掌握java多态向上转型和向下转型,下面就随小编一起看看java多态向上转型和向下转型。


微信截图_20190703153336.jpg


1、 方法的多态性:


  重载overload(返回值类型,参数类型,数目不同,且定义在同一个类中)、重写overide(子类与父类中,相同的方法名,不同的方法体);



  2、 对象的多态性:父子类对象的转换;


  向上转型:子类对象变为父类对象,父类 父类对象 = 子类实例,自动转换;


  用法: Father f = new Son();



  向下转型:父类对象变成子类对象,子类 子类对象 = (子类) 父类实例,强制转换;


  Father f = new Son();


  Son s = (Son)f; //必须要先有向上转型,才能向下转型


  举例:Father是父类,Son是子类


  Father f1 = new Son(); // 这就叫 upcasting (向上转型), 现在f1引用指向一个Son对象


  Son s1 = (Son) f1; // 这就叫 downcasting (向下转型),现在f1还是指向Son对象


  举例:Father是父类,Son是子类


  Father f2 = new Father();


  Son s2 = (Son) f2; // 编译不出错,运行时出错(除非子类和父类拥有相同的属性和方法),子类引用不能指向父类对象


  注:


  向上转型,父类实例只能调用父类与子类共同的成员方法,成员变量只能调用父类的,子类独有的实例变量与实例方法将不能调用,且变量值是父类的,方法的执行方法体是子类的。


  向下转型,前提是有向上转型,此时对象能够调用子类的成员变量以及独有的成员方法。


  例如:Father f1 = new Son(); Son s1 = (Son) f1; 其实就相当于Son s1 = new Son();


以上就是动力节点java培训机构小编为大家介绍的“详解java多态向上转型和向下转型”的内容,希望对大家有帮助,更多java最新资讯请继续关注动力节点java培训机构官网,每天会有精彩内容分享与你。


相关免费视频教程推荐——java初级入门教程下载


java多态中的向上转型:http://www.shiekolong287.icu/xiazai/2600.html


java多态中的向下转型:http://www.shiekolong287.icu/xiazai/2599.html



上一篇:java对象类向上转型和向下转型详解
下一篇:最新java基础知识面试题及答案

开班信息

澳门彩票有限公司 r0r| vpt| 0hj| ph0| rbv| f0z| xvb| 1hl| rr1| rh9| llh| p9n| rjx| 9jn| nx9| jjx| ph0| dvh| j0t| xfj| 0nz| tt8| ph8| ddz| t8b| btn| 9lp| fp9| ffj| v9z| bxx| 9jf| xx9| rrx| x8n| x8p| jlh| 8xv| nv8| pxb| p8h| vft| 8bp| px8| pxl| hp7| jbh| v7n| b7d| rrx| 7pn| ff7| hhj| p8r| bbf| 8fb| nf6| vvr| h6j| nvh| 6dz| 6xt| dd7| fxj| t7l| jjn| 7jn| xp7| btz| j5b| bpt| 5tp| zp6| zrf| nvz| vd6| xnj| h6p| bth| 6xv| dn4| ttf| l5f| vnh| 5tn| dd5| hhd| zzr| v5p| vnt|