Keshan,
What you're looking for here is the template design
pattern. You would like the super always to be executed and the additional subclass specific steps to be executed. It's actually an anti-pattern to force the user to call super.methodName() when you don't need to for the problems you are seeing. If this is a required method, you don't want to leave it up to the user to forget (accidentally or maliciously). Some sample code is below. A client will call methodName() which will call the SuperClassA implementation and then methodNameImpl() which is implemented by SubClassB.
Note: If you want SuperClassA to be able to be instantiated directly,
you should remove the abstract and give methodNameImpl an empty implementation in SuperClassA. Then no extra behavior will be executed if you use SuperClassA, and optionally, subclasses can override for specific additional behavior.
Hope this helps,
Jeff