对象类型转换

对象类型转换
与基本数据类型的相互转换一样,对象的类型转换可通过自动转换或强制转换进行。
一、 无继承关系的两个类的对象之间
不能相互转换。试图转换时出现编译错误(Cannot convert “A” to “B”)
二、 有继承关系的两个类的对象之间

  1. 子类的对象转换为父类的对象:
    可自动转换,当然也可以强制转换。
  2. 父类的对象转换为子类的对象:
    分两种情况:
    由new语句创建的父类对象不能转换为子类的对象,试图自动转换时出现编译错误(Cannot implicitly convert…),试图强制转换时出现运行错误(ClassCastException)。
    由子类对象转化得到的父类对象可以强制转换为同类型的子类对象,但试图自动转换时会出现编译错误(Cannot implicitly convert…)。

你可能感兴趣的:(java学习笔记)