注釈型を受け入れるようにメソッドを作成できるのに、それを渡すための注釈型を実際に持つ方法がないのはどうしてですか?
@Target({ElementType.FIELD, ElementType.PARAMETER, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface Sharpenable {}
@Sharpenable
public class Pencil {}
public void sharpen(Sharpenable sharpenable){
System.out.println("sharpening a " + sharpenable.getClass().getSimpleName());
}