当我们使用此new A() {};
时,如果A是具体的而不是抽象的,我们是否必须包括A的方法?如果A是接口怎么办?我们必须包括A的方法吗?为什么?
答案 0 :(得分:-1)
是否要匿名类与必须包含扩展类的方法还是已实现接口的方法无关。
如果A
是具体的,则不必重写任何方法。当然,您可以覆盖它们,并且应该覆盖其中至少一个,否则拥有一个匿名子类是无用的。您可以直接使用A
。您可以提供自己的新方法,尽管它们不能直接调用。
如果A
是抽象的或接口,则必须覆盖所有抽象方法,就像其他任何命名的具体类一样。
一个人应该在所有旨在重写超类或实现接口的方法上使用@Override
批注,以确保拼写错误不会导致方法不重写任何内容。