我希望能够将未知对象类型转换为接口,然后在新转换的对象上调用接口方法。我以前在C ++中进行开发时就这样做,而且效果很好。
我试图进行强制类型转换只是为了获得ClassCastException。
interface Interact {
void interact();
}
class Item implements Interact {
public void interact(){
System.out.println("Interacted");
}
}
//This is pseudo code. I understand that obj is null
Object obj;
Interact interactable = (Interact) obj;
//Now I can call interact's methods
interactable.interact();
答案 0 :(得分:0)
您可以使用instanceof
来检查对象的类。其语法为object instanceof class
。
在您的示例中:
if (item instanceof Interact){
Interact interactItem = (Interact)item;
interactItem.interact();
.....
}