对象类型转换的一般规则

1.一个子类对象的类型可以向上转换成它的父类类型,也即一个子类对象可以当做父类对象的引用,这种转换是安全的,Java编译器能自动进行

2.一个父类对象的类型一般不能向下转换成它的子类类型,也即一个父类对象一般不能当做子类对象使用。但当父类对象引用的是子类对象,是可以进行强制类型转换的,否则,编译可以通过,但是运行时会抛出ClassCastException的异常。

3.不能在不相关的任何类之间执行类的赋值或者类型转换。即类的类型转换仅限于有继承关系的两个类之间。

4.接口多态性。接口无法实例化,但是可以声明对接口的引用。接口的引用可以用实现接口的具体的类的实例对象替代,即接口的引用可以用实现接口的类的对象赋值,或者说以接口的引用作为方法的形参,用实现接口的类对象作为实参。

原文地址:https://www.cnblogs.com/anqiang1995/p/7529939.html