对象<?实现InterfaceA,InterfaceB>

Ner*_*ero 0 java casting interface

我需要一个对象引用两个不同的接口,如下所示:

interface InterfaceA {
    public void a();
}

interface InterfaceB {
    public void b();
}

class Test() {
    Object <? implements InterfaceA, InterfaceB>; object;

    Test() {
        object.a();
        object.b();
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道继承有这种方式:Class <? extends Main> a 解决方案可以是一个帮助类:class Helperclass implements InterfaceA, InterfaceB{}

感谢您的帮助和阅读:)

Era*_*ran 5

如果向Test类中添加泛型类型参数,则可以要求此类型参数实现两个接口:

class Test<T extends InterfaceA & InterfaceB> {
    T object;

    Test() {
        object.a();
        object.b();
    }

}
Run Code Online (Sandbox Code Playgroud)

当然,您应该object在调用方法之前初始化变量.