假设我有以下两个类/接口定义:
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