java判断方法是否被覆盖

在Java中,判断一个方法是否被覆盖,可以通过使用反射和注解来实现。

首先,在父类中声明一个注解,比如@Override,表示该方法是可以被覆盖的。在子类中重写该方法时,编译器会自动添加该注解。

然后,在运行时,可以使用反射来检查该方法是否被注解了@Override。如果有,则说明该方法已被覆盖。

class Parent {
   @Override
   public void method() {
      System.out.println("Parent class");
class Child extends Parent {
   @Override
   public void method() {
      System.out.println("Child class");
public class Main {
   public static void main(String[] args) throws Exception {
      Child obj = new Child();
      Method method = obj.getClass().getMethod("method");
      if (method.isAnnotationPresent(Override.class)) {
         System.out.println("method is overriden");
      } else {
         System.out.println("method is not overriden");
method is overriden
              java小瓜哥