美文网首页
Java的注解

Java的注解

作者: 一块自由的砖 | 来源:发表于2019-07-29 15:54 被阅读0次

介绍

注解(Annotation)是 JDK1.5 的新特性,是一种特殊的类,作用类似于注释,相当于是一个标记,可以标记在一个类身上的不同位置,可以修饰不同的成员变量、方法甚至是类。注解在实际开发中用的非常广泛,尤其是现在流行的基于注解式开发。

定义

注解通过 @interface 关键字进行定义。

public @interface DemoAnnotation {
}

它的形式跟接口很类似,不过前面多了一个 @ 符号。上面的代码就创建了一个名字为 DemoAnnotation的注解。

应用

@DemoAnnotation
public class Test {
}

创建一个类 Test,然后在类定义的地方加上 @DemoAnnotation 可以用 DemoAnnotation 注解这个类。

属性

注解的属性即成员变量。注解只有成员变量,没有方法。注解的成员变量在注解的定义中以“无形参的方法”形式来声明,其方法名定义了该成员变量的名字,其返回值定义了该成员变量的类型。

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface DemoAnnotation {
    int id();
    String msg();
}

上面代码定义了 DemoAnnotation 这个注解中拥有 id 和 msg 两个属性。在使用的时候,应该给它们进行赋值。
赋值的方式是在注解的括号内以 value=”” 形式,多个属性之前用 ,隔开。

@DemoAnnotation(id=3,msg="hi annotation")
public class Test {
}

需要注意的是,在注解中定义属性时它的类型必须是 8 种基本数据类型外加 类、接口、注解及它们的数组。注解中属性可以有默认值,默认值需要用 default 关键值指定。比如:

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface DemoAnnotation {
    public int id() default -1;
    public String msg() default "Hi";
}

DemoAnnotation 中:

  • id 属性默认值为 -1
  • msg 属性默认值为 Hi
    它可以这样应用。
@DemoAnnotation()
public class Test {}

因为有默认值,所以无需要再在 @DemoAnnotation 后面的括号里面进行赋值了,这一步可以省略。另外,还有一种情况。如果一个注解内仅仅只有一个名字为 value 的属性时,应用这个注解时可以直接接属性值填写到括号内。

public @interface DemoAnnotation {
    String value();
}

上面代码中,DemoAnnotation 这个注解只有 value 这个属性。所以可以这样应用。

@DemoAnnotation("hi")

这和下面的效果是一样的

@DemoAnnotation(value="hi")

最后,还需要注意的一种情况是一个注解没有任何属性。比如

public @interface DemoAnnotation {}

那么在应用这个注解的时候,括号都可以省略。

@DemoAnnotation
public void testMethod(){}

分类

注解可以分为四大类:

  • 元注解
  • 预置注解
  • 自定义注解
  • 第三方的注解(根据引入的三方包,查看对应的文档)

相关文章

  • 菜鸟学服务端技术----Spirng基础

    注解 Java基础加强总结(一)——注解(Annotation) java中的注解是如何工作的? java 注解 ...

  • 自定义注解

    java annotation基础 java注解分为标准注解和元注解。 标准注解是java为我们提供的预定义的注解...

  • Java原生注解和Spring注解的说明

    注解 java 原生注解 Spring 中的注解 一 Java原生注解 Java注解是在JDK1.5以后引入的新特...

  • Java注解的使用

    Java注解的使用 参考 廖雪峰java教程 使用注解 什么是注解(Annotation)?注解是放在Java源码...

  • Java 注解

    JAVA注解 Java 自带注解(系统注解) @Override 表示重写注解 @Deprecated 表示过时的...

  • 1.8 Java 注解annotation

    1.1 注解声明 Java注解Annotation,有声明注解和元注解 元注解:Java提供的元注解,所谓元注解就...

  • Java注解学习总结(脑图)

    注解的提取测试:定义注解: 测试注解提取: 参考:《Java编程思想》java注解

  • Java注解(三)—元注解

    元注解就是注解的注解,是Java内置的注解。Java提供四个元注解:@Retention @Target @Doc...

  • Java注解简介篇

    摘要 本文详细介绍java注解是什么,如何声明java注解,如何解析java注解。最后介绍JDK提供的几大基本注解...

  • java 中的注解

    java 中的注解 使用的时候可以参考秒懂,Java 注解 (Annotation)你可以这样学 Java 注解用...

网友评论

      本文标题:Java的注解

      本文链接:https://www.haomeiwen.com/subject/hdubrctx.html