cod*_*joe 4 java casting downcast
我有以下场景:
public class A {
}
public class B extends A {
}
public class C extends B {
public void Foo();
}
Run Code Online (Sandbox Code Playgroud)
我有一个方法可以返回类A,B或C,我想安全地转换为C,但只有在类类型为C时.这是因为我需要调用Foo()但我不想要ClassCastException.
你能做这个吗?
if (obj instanceof C) {
((C)obj).Foo();
}
else {
// Recover somehow...
}
Run Code Online (Sandbox Code Playgroud)
但是,请参阅此问题中的其他一些注释,因为过度使用instanceof有时(并不总是)表示您需要重新考虑您的设计.
| 归档时间: |
|
| 查看次数: |
7234 次 |
| 最近记录: |