发布网友 发布时间: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对象就可以调用父类中的方法和属性。转换过来干嘛?