Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我得到了一个ClassCastException,但是我的源类型对象是超类型的,而cast操作符是子类型的_Java - Fatal编程技术网

Java 我得到了一个ClassCastException,但是我的源类型对象是超类型的,而cast操作符是子类型的

Java 我得到了一个ClassCastException,但是我的源类型对象是超类型的,而cast操作符是子类型的,java,Java,当我执行下面的代码时,为什么会得到ClassCastException class Test extends Test3 { public static void main(String[] args) { Test3 t3 = new Test3(); Test t = (Test) t3; System.out.print("hello"); } } 基本数据类型的强制转换是通过这种方式完成的。但是,如果您尝试使用字符串,例如

当我执行下面的代码时,为什么会得到ClassCastException

class Test extends Test3 {
    public static void main(String[] args) {
        Test3 t3 = new Test3();
        Test t = (Test) t3;
        System.out.print("hello");
    }
}

基本数据类型的强制转换是通过这种方式完成的。但是,如果您尝试使用字符串,例如[class],那么如果没有从字符串转换为整数的
int-Stringvariable=Integer.parseInt(Stringvariable)
,或者
String-intvariable=String.valueof(intvariable)等方法,您就无法进行强制转换
将整数转换为字符串

parseInt(Stringvariable)
是Integer类中的一个方法。
valueof(intvariable)
是字符串类中的一个方法。如果要建立任何强制转换关系,请通过方法进行。

因为
Test3
不是
Test
:a
Test
Test3
。正如
哺乳动物
不是
,而是
哺乳动物
。这正是你不能做的。不能将对象强制转换为它不是的对象。