java中,向上造型呈现的多态性仅仅针对成员函数,成员属性不具有多态性,例如:
Father fs = new Son();
fsm1(); //调用的是子类的函数
fsa; // 调用的是父类的属性
向上造型:父类的引用指向子类的对象。
向上造型可以大大提高程序的可扩展性。利于代码维护。
面向对象的三大特性:封装;继承;多态。向上造型可以看做多态的一种体现。即允许一种类型有不同的实现(可以理解为事物存在的多种体现形态)。
典型应用:接口。
没有什么效果,只是是代码精简而已
强制类型转换或者自动向上造型都有个先决条件,就是被造型的对象必须本来就是转换后的类型数据。
比如你的
object[]
args={
rowld
},这里rowld是一个int类型,但是java里所有类型都继承自object类型,所以rowld也可以说是object类型的对象,赋值不会报错。args2[i]=args[i]tostring();由于objecttostring()方法返回类型是stirng,所以赋值也不会报错。
但是直接将
args
转成
args2
明显就类型不对了,就如
string
str=
1;一样,类型不兼容啊。。。
欢迎分享,转载请注明来源:浪漫分享网
评论列表(0条)