匿名类可以实现抽象类的非抽象方法吗?

Sar*_*sta 7 java findbugs

可以使用Anonymous类重写Abstract类非抽象方法吗?FindBugs工具正在发布"匿名类的Uncallable方法"问题.有关更多信息,请查看以下示例

public class BaseClass {
    // This class is a Library Class.
}

public abstract class AbstractBaseClass extends BaseClass {
    public abstract void abstractMethod();
    public void nonAbstractMethod() {}
}

public abstract class DerivedAbstractClass extends AbstractBaseClass {
   // Here Some more additional methods has been added
}

public class DemoAbstract {

    public static void main(String[] args) {
        init();
    }

    private static void init() {
        DerivedAbstractClass derivedAbstractClass = new DerivedAbstractClass() {
            @Override
            public void abstractMethod() {

            }

            @Override
            public void nonAbstractMethod() {
                 // Is it possible to override like this?
            }
        };
    }
}
Run Code Online (Sandbox Code Playgroud)

nog*_*ard 2

是的,这是可能的。您可以重写任何非最终、非静态方法