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. B
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.
If you have an abstract class, then make your method (let's say foo abstract as well)
public abstract void foo();
Then all subclasses will have to override foo.
Make this method abstract.
Just make the method abstract.
This will force all subclasses to implement it, even if it is implemented in a super class of the abstract class.
public abstract void foo();
Just define foo() as an abstract method in the base class:
public abstract class Bar {
abstract void foo();
}
See The Java™ Tutorials (Interfaces and Inheritance) for more information.