Анонимность класса не имеет никакого отношения к тому, должны ли вы включать методы расширенного класса или реализованного интерфейса.
Если A
является конкретным, вам не нужно переопределятьлюбые методы.Вы можете переопределить их, конечно, и вы должны переопределить хотя бы один из них, иначе анонимный подкласс бесполезен;Вы можете использовать A
напрямую.Вы можете предоставить свои собственные новые методы, хотя они не будут вызываться напрямую.
Если A
является абстрактным или интерфейсом, то вы должны переопределить все абстрактные методы, как и любой другой именованный конкретный класс.
Надо использовать аннотацию @Override
во всех методах, предназначенных для переопределения суперкласса или реализации интерфейса, чтобы гарантировать, что опечатки не приведут к методу, который ничего не переопределит.