如何将对象投射到接口?

时间:2019-06-26 06:32:07

标签: java

我希望能够将未知对象类型转换为接口,然后在新转换的对象上调用接口方法。我以前在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();

1 个答案:

答案 0 :(得分:0)

您可以使用instanceof来检查对象的类。其语法为object instanceof class

在您的示例中:

if (item instanceof Interact){
    Interact interactItem = (Interact)item;
    interactItem.interact();
    .....
}