向上转型和向下转型

一、概念
向上转型是指将子类的实例赋值给父类类型的变量。
向下转型是指将父类的实例赋值给子类类型的变量。
二、向上转型
1、向上转型后父类的引用所指向的属性是父类的属性。
2、如果子类重写了父类的方法,那么父类引用指向的或者调用的方法是子类的方法,这个叫动态绑定(实现多态)。
3、父类引用不能调用子类自己的方法。
4、向上转型会丢失子类的新增方法,同时会保留子类重写的方法。
三、向下转型
1、编译时需要强制类型转换,father前面的必须添加(Son)。
2、运行时会出现java.lang.ClassCastException错误,可使用instanceof来避免出错此类错误。
3、向下转型可以得到子类的所有方法(包含父类的方法)。

你可能感兴趣的:(java基础知识,向上转型,向下转型)