I agree with SLaks and I think that this will be a real situation:
abstract class animal { public abstract void speak(); } class dog extends animal { @Override public void speak() {
I think you would use this if you want the new child class to implement the speak method, and the dog class could have other methods that the new child class should not implement.
Knowing more about your specific situation will help determine if there is a better design for this scenario.
source share