首页 > 解决方案 > 将 Object 的对象变成不同类型的对象?

问题描述

不确定这个问题是否有意义,但基本上我想要做的就是这个

Object obj = new Object();
BankAccount s = (BankAccount) obj;
System.out.println(s instanceof BankAccount);

我希望它返回 true,但它会抛出一个类转换异常错误。为什么我不能BankAccount投到Object?是因为BankAccount它自动成为 的子类Object吗?

标签: javaclassoopcasting

解决方案


类型转换告诉编译器“你认为这obj有 type Object,但相信我,它实际上是一个BankAccount”。但你在撒谎,因为事实并非如此。该实例只是一个Object.

以下将起作用:

Object obj = new BankAccount();
BankAccount s = (BankAccount) obj;
System.out.println(s instanceof BankAccount);

推荐阅读