我要说的原因是,否则会发生多重继承问题。
例:
@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD) @Inheritedpublic @interface Baz { String value(); }public interface Foo{ @Baz("baz") void doStuff();}public interface Bar{ @Baz("phleem") void doStuff();}public class Flipp{ @Baz("flopp") public void doStuff(){}}public class MyClass extends Flipp implements Foo, Bar{}
如果我这样做:
MyClass.class.getMethod("doStuff").getAnnotation(Baz.class).value()
结果将是什么?’baz’,’phleem’或’flopp’?
因此,接口上的注释很少有用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)