今天动力节点java培训机构小编为大家介绍“详解java多态向上转型和向下转型”,希望通过此文大家能够掌握java多态向上转型和向下转型,下面就随小编一起看看java多态向上转型和向下转型。
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大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习