Java注解(一) 注解的属性,格式,说明

简介: Java注解(一) 注解的属性,格式,说明

Java注解(一) 注解的属性,格式,说明

注解

说明

从JDK5开始,Java增加对元数据的支持,也就是注解,注解与注释是有一定区别的,可以把注解理解为代码里的特殊标记,这些标记可以在编译,类加载,运行时被读取,并执行相应的处理。通过注解开发人员可以在不改变原有代码和逻辑的情况下在源代码中嵌入补充信息。 注解:类的组成部分,可以给类携带一些额外的信息,提供一种安全的类似注释标记的机制,用来将任何信息或元数据与程序元素进行关联

  • 注解是给编译器或 JVM 看的,编译器或 JVM 可以根据注解来完成对应的功能
  • 注解类似修饰符,应用于包、类型、构造方法、方法、成员变量、参数及本地变量的声明语句中
  • 父类中的注解是不能被子类继承的

注解作用:

  • 标记
  • 框架技术多半都是在使用注解和反射,都是属于框架的底层基础技术
  • 在编译时进行格式检查,比如方法重写约束 @Override、函数式接口约束 @FunctionalInterface.

注解格式

定义格式:自定义注解用 @interface 关键字,注解默认可以标记很多地方

修饰符 @interface 注解名{
     // 注解属性
}

使用注解的格式:@注解名

@Book
@MyTest
public class MyBook {
    //方法变量都可以注解
}
@interface Book{
}
@interface MyTest{
}

注解属性

普通属性

注解可以有属性属性名必须带 () ,在用注解的时候,属性必须赋值,除非属性有默认值

属性的格式:

  • 格式 1:数据类型 属性名()
  • 格式 2:数据类型 属性名() default 默认值

特殊属性

注解的特殊属性名称:value

  • 如果只有一个 value 属性的情况下,使用 value 属性的时候可以 省略 value 名称不写
  • 如果有多个属性,且多个属性没有默认值,那么 value 是不能省略的
目录
相关文章
|
27天前
|
Java Maven 编译器
Java编译器注解运行和自动生成代码问题之@AutoService工作问题如何解决
Java编译器注解运行和自动生成代码问题之@AutoService工作问题如何解决
|
3天前
|
缓存 Java 数据处理
|
27天前
|
编译器 Java
Java编译器注解运行和自动生成代码问题之重写init方法的问题如何解决
Java编译器注解运行和自动生成代码问题之重写init方法的问题如何解决
|
5天前
|
Java
Java模拟文件发送给服务器,服务器将文件转发给其他用户,并保存到服务器本地,其他用户可以接收,并保存到本地磁盘,支持各种文件格式,并解决通信中服务器怎么区分客户端发来的文件类型
Java模拟文件发送给服务器,服务器将文件转发给其他用户,并保存到服务器本地,其他用户可以接收,并保存到本地磁盘,支持各种文件格式,并解决通信中服务器怎么区分客户端发来的文件类型
|
5天前
|
存储 缓存 Java
Java本地高性能缓存实践问题之使用@CachePut注解来更新缓存中的数据的问题如何解决
Java本地高性能缓存实践问题之使用@CachePut注解来更新缓存中的数据的问题如何解决
|
27天前
|
Java 测试技术 Maven
Java编译器注解运行和自动生成代码问题之在编译时需要设置-proc:none参数问题如何解决
Java编译器注解运行和自动生成代码问题之在编译时需要设置-proc:none参数问题如何解决
|
27天前
|
Java Maven 编译器
Java编译器注解运行和自动生成代码问题之RoundEnvironment和注解类型集合有什么区别
Java编译器注解运行和自动生成代码问题之RoundEnvironment和注解类型集合有什么区别
|
11天前
|
设计模式 存储 安全
18 Java反射reflect(类加载+获取类对象+通用操作+设计模式+枚举+注解)
18 Java反射reflect(类加载+获取类对象+通用操作+设计模式+枚举+注解)
41 0
|
26天前
|
设计模式 Java Spring
Java编程问题之使用 @Recover 注解时需要注意什么
Java编程问题之使用 @Recover 注解时需要注意什么
|
27天前
|
Java 编译器
Java编译器注解运行和自动生成代码问题之如何定义@BuildProperty注解
Java编译器注解运行和自动生成代码问题之如何定义@BuildProperty注解