关于“向上转型”
向上转型的具体作用是什么?
子类既然继承的基类,就可以调用基类的方法了。
为啥还搞个向上转型啊
------解决方案--------------------向上转型是把子类当做父类用。
使父类可以调用子类重写过的方法。
如:
class Sp{
public void sayHi(){
Systemout.println( "Sp hi~ ");
}
}
class S1 extends Sp{
public void sayHi(){
Systemout.println( "S1 hi~ ");
}
}
class S2 extends Sp{
public void sayHi(){
Systemout.println( "S2 hi~ ");
}
}
public class Test{
public static void main(String[] args){
Sp sp = new Sp();
Sp sp1 = new S1();//这就是向上转型
Sp sp2 = new S2();//这就是向上转型
sp.sayHi();
sp1.sayHi();//sp1与sp2都是 Sp类型的,可是却可以有不同的输出
sp2.sayHi();
}
}
------解决方案--------------------多态
------解决方案--------------------层叠开发的优点就是,不用费除原来的资源,同时对后期维护降低成本。
A《--B
A是基类,需要寻径业务
但是B业务发生变化,但是还是寻径业务,功能一致,只是实现方式不同。那么需要实现C
A《--C
所以在调用的时候只要调用A就可减少维护的成本。
同时这也是业务升级或是回调的最好方法。
------解决方案--------------------lz,把向上转型理解错了!