在java的继承关系中,有那么一种特别的类型。
向上转型和向下转型。
向上转型指的是继承关系中的子孙类的对象转换成父类的引用
如:
class A{
A(){}
}
class B extends A{
B(){}
}
public class C{
public static void main(String arg[]){
A a=new B();
}
}
向上转型的对象能覆盖和父类同名的方法或成员。
向下转型是把父类的对象强制转换成子类后,赋给子类的引用。
以上个程序为例,向下转型如下:
B b=(B)new A();//我承认我一开始这么写是猜的。。。2333没想到真的可以。
下转型对象中,会不会把没继承的部分给剪除呢?
虽然在转型对象后,对象无法调用父类的对象和方法,但是在重新转型后,还是可以调用原来的方法和成员。
因此,这并没有剪除,而是隐藏了