向上转型:把子类对象转成父类类型,即父类的引用指向子类对象。
A为父类,B为子类。
A b = new B();
向上转型时会执行子类重写父类的方法,以及父类特有的方法。但是会丢失子类中特有的方法和数据。
向下转型:把父类对象转成子类类型,即将子类的引用指向父类对象。
A为父类,B为子类。
A b = new B();
B c = (B)b;
向下转型只能针对指向子类的基类对象,可以得到父类及子类的所有方法。
向上转型:把子类对象转成父类类型,即父类的引用指向子类对象。
A为父类,B为子类。
A b = new B();
向上转型时会执行子类重写父类的方法,以及父类特有的方法。但是会丢失子类中特有的方法和数据。
向下转型:把父类对象转成子类类型,即将子类的引用指向父类对象。
A为父类,B为子类。
A b = new B();
B c = (B)b;
向下转型只能针对指向子类的基类对象,可以得到父类及子类的所有方法。