如果它定义了以下注释:
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface MyAnnot {
public String value();
}
然后使用它定义以下接口:
@MyAnnot("somevalue")
public interface MyClass
{
}
如果我然后运行以下命令:
javac MyClass.java
javap MyClass.class
然后我的输出是:
编译自“MyClass.java”
公共接口 MyClass { }
所以在我看来,注释没有被保留?如果是这样,为什么会这样?