Анонимные классы должны расширять или реализовывать что-либо, как любой другой класс Java, даже если это просто java.lang.Object
.
Например:
Runnable r = new Runnable() {
public void run() { ... }
};
Здесь r
- это объект анонимного класса, который реализует Runnable
.
Анонимный класс может расширять другой класс, используя тот же синтаксис:
SomeClass x = new SomeClass() {
...
};
Чего вы не можете сделать, так это реализовать более одного интерфейса. Вам нужен именованный класс, чтобы сделать это. Однако ни анонимный внутренний класс, ни именованный класс не могут расширять более одного класса.