解决方法
你不能强制该方法被覆盖 – 这是抽象方法(你所说的不是一个选项).
一种可能性是使基类中的方法抛出UnsupportedOperationException.然后,子类必须覆盖它,以防止抛出错误.这样,您至少可以检测到该方法是否已被覆盖.
例如:
- public class Father {
- public void method ( ) {
- throw new UnsupportedOperationException( );
- }
- }
- public class Child1 extends Father {
- }
- public class Child2 extends Father {
- public void method ( ) {
- // Do something useful here...
- }
- }
调用Child1.method()将抛出UnsupportedOperationException,表示它没有覆盖父的方法().调用Child2.method()不会抛出异常,这意味着它已经覆盖了method().