假设我有以下课程:
class A {}
class B extends A {}
A instA = new A();
A instB = new B();
Run Code Online (Sandbox Code Playgroud)
现在,就Java而言,instB是A类型的。
我如何找出instB的实际类型?
您可以使用instB.getClass()。这将返回一个Class代表instB的运行时类型的对象。
资料来源:javadoc
您还可以对以下条件使用条件检查instanceof:
if (instB instanceof B) {
//then we know it is of type B
}
Run Code Online (Sandbox Code Playgroud)
instanceof将是更传统的方式,如果instB是的子类,则条件语句也将返回true B。
您可能希望通过代码示例进一步解释您的用例,以获得更好的讨论。
| 归档时间: |
|
| 查看次数: |
928 次 |
| 最近记录: |