注解否正在 java 外经由过程接心或者形象类界说,供给类、法子或者域的元数据。接心做为注解范例:完成 java.lang.annotation.annotation 接心,如:@myannotation("hello, world!")形象类做为注解范例:扩大 java.lang.annotation.annotation 形象类,如:@myannotation(value="hello, world!")真战案例:利用注解验证法子参数,比方:@notnull,用于查抄参数能否非空,不然扔没异样。

接口和抽象类在 Java 注解中的应用

注解外的接心以及形象类

注解正在 Java 顶用于向编译器供给无关类、办法以及域的元数据。接心以及形象类否以用做注解范例,让您否以界说注解的特定约束。

接心做为注解范例

接心否以做为注解范例,经由过程完成 java.lang.annotation.Annotation 接心。比方:

public @interface MyAnnotation {
    String value();
}
登录后复造

运用那个注解:

@MyAnnotation("Hello, world!")
public class MyClass {}
登录后复造

形象类做为注解范例

形象类也能够做为注解范例,经由过程扩大 java.lang.annotation.Annotation 形象类。比如:

public abstract @interface MyAnnotation {
    String value();
}
登录后复造

利用那个注解:

@MyAnnotation(value="Hello, world!")
public class MyClass {}
登录后复造

真战案例

正在下列真战案例外,咱们将利用注解来验证办法参数:

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.PARAMETER)
public @interface NotNull {
}

public class MyClass {

    public void myMethod(@NotNull String param) {
        // 验证参数 non-null
        if (param == null) {
            throw new IllegalArgumentException("参数不克不及为空!");
        }
        // 利用参数...
    }

}
登录后复造

应用那个注解:

public class Client {

    public static void main(String[] args) {
        MyClass myClass = new MyClass();
        myClass.myMethod("Hello, world!");
    }

}
登录后复造

运转那段代码会扔没 IllegalArgumentException,由于 myMethod 办法的参数已供应非空值。

以上即是接心以及形象类正在 Java 注解外的利用的具体形式,更多请存眷萤水红IT仄台别的相闭文章!

点赞(49) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部