Java 强制类型转换原理(父类转子类、子类转父类)
在Java中,对象的强制类型转换称为向下转型,当你将一个子类对象赋给父类引用时,你可以使用向下转型将该父类引用转回子类类型。
向下转型的基本原理是,在Java中,子类对象也是父类对象,因此可以将子类对象赋值给父类类型的引用。但是,当你需要将父类引用转回子类类型时,你必须使用强制类型转换。
强制类型转换涉及到运行时的检查,如果父类引用实际上不引用子类对象,则在运行时会抛出ClassCastException
。
以下是强制类型转换的示例代码:
class Parent {
// 父类方法
}
class Child extends Parent {
// 子类特有方法
public void childMethod() {
System.out.println("Child method called.");
}
}
public class Main {
public static void main(String[] args) {
Parent parent = new Child(); // 向下转型
// 强制转换回子类
Child child = (Child) parent;
child.childMethod(); // 调用子类的方法
}
}
在这个例子中,我们创建了一个Child
类实例,并将其赋值给Parent
类型的引用。然后我们使用Child
类型的引用将该引用强制转换回Child
,以便调用Child
类中定义的方法。
请注意,在实际应用中,你应该确保对象实际上是目标类型的实例,否则在运行时将抛出ClassCastException
。
评论已关闭