//编译成功, 将子类B赋给间接父类Object, 会自动进行类型转换
objA=objC; //编译成功, 将子类C赋给直接父类A, 会自动进行类型转换...父类对子类进行赋值:
objA=obj; //编译出错, 将父类Object赋给直接子类A时, 需要强制类型转换
objA=(A)obj; ...//编译成功
objB=obj; //编译出错, 将父类Object赋给间接子类B时, 需要强制类型转换
objB=(B)obj;... //编译成功
objC=objA; //编译出错, 将父类A赋给直接子类C时, 需要强制类型转换..., 不能将C类型强制转换为B类型
如果声明了一个父类型的变量,但使其引用子类对象,在编译时,Java编译器是根据变量被显示声明的类型去编译,因此该变量的类型被看作父类类型,所以将其进行强制类型转换并赋给引用了另一个子类对象的变量时