首页 课程 师资 教程 报名

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

  • 2019-09-16 16:46:27
  • 3769次 动力节点


今天动力节点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.bjpowernode.com/xiazai/2600.html


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



选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交