Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有办法将方法注释传递给子类?_Java_Android Studio_Intellij Idea_Annotations_Java Annotations - Fatal编程技术网

Java 有没有办法将方法注释传递给子类?

Java 有没有办法将方法注释传递给子类?,java,android-studio,intellij-idea,annotations,java-annotations,Java,Android Studio,Intellij Idea,Annotations,Java Annotations,我有一些自定义的方法注释,用于通常被重写的方法。例如,让我们考虑一个类似于 @ AsYNC/注释: public class Base { @Async public void foo() { } } 是否有一种方法可以向编译器和/或IDE发出信号,说明方法注释应该跟随到方法的重写版本中,以便当有人扩展Base并重写foo()时,自动插入@Async注释,类似于大多数IDE如何自动插入@Override 如果没有通用的方法来暗示这一点,是否有IntelliJ/Android Stu

我有一些自定义的方法注释,用于通常被重写的方法。例如,让我们考虑一个类似于<代码> @ AsYNC/<代码>注释:

public class Base {
  @Async
  public void foo() {
  }
}
是否有一种方法可以向编译器和/或IDE发出信号,说明方法注释应该跟随到方法的重写版本中,以便当有人扩展
Base
并重写
foo()
时,自动插入
@Async
注释,类似于大多数IDE如何自动插入
@Override


如果没有通用的方法来暗示这一点,是否有IntelliJ/Android Studio特定的方法?

如果注释被标记为其他注释
@inherited
,则注释将被继承。因此,如果您作为示例给出的注释
@Async
是您的,请执行以下操作:

@Inherited
// other annotations (e.g. Retention, Target etc)
@interface Async {
}
但是,如果这不是您的注释,那么使其在子类中可见的唯一方法是在此子类中创建一个平凡的
foo()
实现,并用此注释标记此方法,例如

public class Base {
  @Async
  public void foo() {
  }
}
public class Child extends Base {
  // Trivial implementation needed only to make the annotation available here. 
  @Async
  public void foo() {
      super.foo();
  }
}