class D extends E { protected void doSomething() throws Exception { throw new Exception(); } } public abstract class E { protected abstract void doSomething() throws Exception; }