什么是 ClassCastException?Java 中何时会抛出该异常?\
javaobject oriented programmingprogramming更新于 2025/7/2 21:32:17
java.lang.ClassCastException 是 Java 中的unchecked 异常 之一。当我们尝试将一种类类型的对象转换为另一种类类型的对象时,它就会出现在我们的程序中。
何时会抛出 ClassCastException
- 当我们尝试将父类的对象转换为其子类类型时,将抛出此异常。
- 当我们尝试将一个类的对象转换为另一个类类型时,该类类型未扩展另一个类,或者它们之间没有任何关系。
示例
class ParentTest {
String parentName;
ParentTest(String n1){
parentName = n1;
}
public void display() {
System.out.println(parentName);
}
}
class ChildTest extends ParentTest {
String childName;
ChildTest(String n2) {
super(n2);
childName = n2;
}
public void display() {
System.out.println(childName);
}
}
public class Test {
public static void main(String args[]) {
ChildTest ct1 = new ChildTest("Jai");
ParentTest pt1 = new ParentTest("Adithya");
pt1 = ct1;
pt1.display();
ParentTest pt2 = new ParentTest("Sai");
ChildTest ct2 = (ChildTest)pt2;
}
}
输出
Jai Exception in thread "main" java.lang.ClassCastException: ParentTest cannot be cast to ChildTest at Test.main(Test.java:30)
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

