首页 热点资讯 义务教育 高等教育 出国留学 考研考公

java中父类可不可以转为子类? 如:Child c=(Child)parent; 其中parent是Child的父类,但不属于Child?

发布网友 发布时间:2022-04-23 13:32

我来回答

5个回答

热心网友 时间:2023-10-15 20:27

可以,
但要注意: 如果运行时 parent 指向的实例是Child类型的, 不会有问题。 如果指向的不是Child类型的,会报异常。
如果有多个子类, 逻辑上不能保证类型匹配时, 可以用 instanceof 关键字来检查, 确保类型匹配。

热心网友 时间:2023-10-15 20:27

可以,
但要注意: 如果运行时 parent 指向的实例是Child类型的, 不会有问题。 如果指向的不是Child类型的,会报异常。
如果有多个子类, 逻辑上不能保证类型匹配时, 可以用 instanceof 关键字来检查, 确保类型匹配。

热心网友 时间:2023-10-15 20:28

如果parent对象创建时并不是创建的Child或Child的子类,那么是不能强制转换成子类的

例:
Parent parent = new Child();
Child c = (Child)parent; (可以)

Parent parent = new Parent();
Child c = (Child)parent; (不可以)

热心网友 时间:2023-10-15 20:28

如果parent对象创建时并不是创建的Child或Child的子类,那么是不能强制转换成子类的

例:
Parent parent = new Child();
Child c = (Child)parent; (可以)

Parent parent = new Parent();
Child c = (Child)parent; (不可以)

热心网友 时间:2023-10-15 20:28

if(parent instanceof Child){
System.out.println("可以");
return true;
}else{
System.out.println("不可以");
return false;
}
看看输出结果就可以了 ,对于不同的父子关系,不一定能够转化,一次测试结果不代表全部

热心网友 时间:2023-10-15 20:28

if(parent instanceof Child){
System.out.println("可以");
return true;
}else{
System.out.println("不可以");
return false;
}
看看输出结果就可以了 ,对于不同的父子关系,不一定能够转化,一次测试结果不代表全部

热心网友 时间:2023-10-15 20:29

不可以

热心网友 时间:2023-10-15 20:29

不可以

热心网友 时间:2023-10-15 20:29

为什么要这样转化呢?通过子类里的super对象就可以调用父类中的方法和属性。转换过来干嘛?

热心网友 时间:2023-10-15 20:29

为什么要这样转化呢?通过子类里的super对象就可以调用父类中的方法和属性。转换过来干嘛?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com