Hari Shankar Hari Shankar - 23 days ago 17
Java Question

How to force a method to be overridden in java?

I have to create a lot of very similar classes which have just one method different between them. So I figured creating abstract class would be a good way to achieve this. But the method I want to override (say, method foo()) has no default behavior. I don't want to keep any default implementation, forcing all extending classes to implement this method. How do I do this?

Answer

You need an abstract method on your base class:

public abstract class BaseClass {
    public abstract void foo();
}

This way, you don't specify a default behavior and you force non-abstract classes inheriting from BaseClass to specify an implementation for foo.

Comments