相关疑难解决方法(0)

使用额外的接口实现在Java中实例化匿名内部类

假设我有以下两个类/接口定义:

public abstract class FooClass {
    public abstract void doFoo();
}
Run Code Online (Sandbox Code Playgroud)

public interface BarInterface {
    public void doBar();
}
Run Code Online (Sandbox Code Playgroud)

如果我想创建一个扩展/实现两者的匿名内部类,我是否需要这样做:

public abstract class BothClass extends FooClass implements BarInterface {}

...

new BothClass() {
    public void doFoo() {
        System.out.println("Fooooooooo!!!!");
    }

    public void doBar() {
        System.out.println("Baaaaaaaar!!!!");
    }
}.doBar();
Run Code Online (Sandbox Code Playgroud)

或者是否有一个允许我不定义的捷径BothClass?这样的事情,也许:

new (FooClass implements BarInterface)() {
    public void doFoo() {
        System.out.println("Fooooooooo!!!!");
    }

    public void doBar() {
        System.out.println("Baaaaaaaar!!!!");
    }
}.doBar();
Run Code Online (Sandbox Code Playgroud)

(这个想法给了我几个错误,这些都没有帮助)

java anonymous-inner-class subclassing interface-implementation

4
推荐指数
1
解决办法
529
查看次数