在其他注释中使用注释

时间:2018-10-12 13:40:11

标签: java annotations

有些模块包含用以下注释标记的方法:

@SuppressWarnings({"WeakerAccess"})

添加此注释后, 编译器不会给出关于访问修饰符可以更私有的警告。 有时这样做是因为某些子类(模块外部)将覆盖该方法。 在这种情况下, 我们需要添加一条注释,说明该方法将被覆盖。 现在, 对于每个方法和变量, 我们有两件事, 注释和评论。

Java是否允许我们创建可以指示两种情况的注释。 这就是我所拥有的:

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import static java.lang.annotation.ElementType.CONSTRUCTOR;
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.LOCAL_VARIABLE;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
import static java.lang.annotation.ElementType.TYPE;

@Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE})
@Retention(RetentionPolicy.SOURCE)
@SuppressWarnings({"WeakerAccess"})
public @interface WillBeOverriden { } // Ignore the ugly name

此新注释的目标是使其行为与SuppressWarnings注释完全相同,并且无需添加Java注释;因为注释将充当注释。

This stackoverflow question似乎有答案, 但是我的编译器仍然抱怨该字段可以更私有。

0 个答案:

没有答案