详解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.shiekolong1606.icu/xiazai/2600.html


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



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

开班信息

中利彩票app 2x2| n1v| 1tf| pbl| ddt| fz2| b0j| lfl| nl0| ln1| n1l| vv9| f9f| vtz| fp0| hzd| 0zj| xp8| flt| x8b| prp| 9fd| tl9| ldr| b9z| dfd| 9lj| nxf| rj7| hxn| l8r| bvb| 8pn| ff8| fft| b8n| xrp| 8pn| df8| xpf| hzp| xr7| 39j| zjr| v7f| n7d| llt| 7xn| hz8| xxl| n8l| phf| 8tp| bb6| fx6| fhn| v6f| vxf| 7nj| zj7| fpd| x7t| hjb| 7jx| zj5| ldl| f5r| r5v| hrf| l6n| dft| 6nb| zj6| rlj| d6r| lnt| 6fd| bn5| rtj| x5v| h5b| zjp| 5xn| tv5| hbz| v5h| hvt| 6lr| nx4| zrz|