通过阅读TKJ和csdn上其他大神的文章,我对向上转型的理解如下。 在子类继承父类之后,子类可以向上转换成父类。比如TKJ中的管弦乐器继承乐器,乐器拥有的属性管弦乐器一定会有。转换成我们人类的语言就是,管弦乐器一定是乐器。
但是在使用向上转型的时候,子类拥有的自己独有的方法,即父类没有的方法的时候,是会在转型的中被干掉的。
package xszx;
//向上转型的父类A
public class A {
public void print(){
System.out.println("this is A's printMethon");
}
}
package xszx;
//转型中的子类
public class B extends A{
public void print(){
System.out.println("this is B's printMethon");
}
public void b(){
System.out.println("this is only B's methon");
}
}
package xszx;
//测试
public class C {
public static void main(String args[]){
A a=new B();
a.print();
//a是没有B中独有的b()的
}
}