Arnold's Blog Arnold's Blog
🏠首页
  • Java
  • Python
💻前端
🕸️周边技术
🗒️札记
  • Tips
  • 读书
  • 友情链接
🧑‍💻关于
🔖收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Arnold Shu

知人者智,自知者明。胜人者有力,自胜者强。
🏠首页
  • Java
  • Python
💻前端
🕸️周边技术
🗒️札记
  • Tips
  • 读书
  • 友情链接
🧑‍💻关于
🔖收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Java

    • Java注解以及自定义注解
      • Java 注解
        • 标准注解
        • 元注解
        • 自定义注解
      • 项目
        • github地址
        • gitee地址
    • 函数式编程(JAVA)
    • 记一次GC 排查及优化
    • JVM浅析总结(JVM的生命周期)
    • JVM浅析总结(类加载器)
    • JVM浅析总结(运行时数据区)
    • JVM浅析总结(执行引擎)
    • JVM浅析总结(垃圾回收)
    • JVM浅析总结(Class文件结构)
    • JVM浅析总结(JAVA监控与调优工具)
    • 程序设计中SPI和API
  • Python

  • Spring

  • SpringBoot

  • backend
  • Java
Arnold Shu
2019-12-15
目录

Java注解以及自定义注解

# Java 注解

Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制,Java提供了一种原程序中的元素(类、方法、变量、参数和包等)关联任何信息和任何元数据的途径和方法(Java反射)。

# 标准注解

java 1.5引入注解,其中Java SE5内置了三种标准注解:

 @Override,表示当前的方法定义将覆盖超类中的方法。
 
 @Deprecated,使用了注解为它的元素编译器将发出警告,因为注解@Deprecated是不赞成使用的代码,被弃用的代码。
 
 @SuppressWarnings,指示编译器去忽略注解中声明的警告。

# 元注解

元注解:作用在其他注解的注解,即注解的注解

@Target 表示该注解可以用于什么地方,可能的ElementType参数有:
        1.CONSTRUCTOR:构造器的声明 
        2.FIELD:域声明(包括enum实例)
        3.LOCAL_VARIABLE:局部变量声明 
        4.METHOD:方法声明 
        5.PACKAGE:包声明 
        6.PARAMETER 参数声明 
        7.TYPE:类、接口(包括注解类型)或enum声明 

@Retention  表示需要在什么级别保存该注解信息。可选的RetentionPolicy参数包括:
            1.SOURCE:注解将被编译器丢弃 
            2.CLASS:注解在class文件中可用,但会被VM丢弃 
            3.RUNTIME:VM将在运行期间保留注解,因此可以通过反射机制读取注解的信息

@Document 将注解包含在Javadoc中 

@Inherited 允许子类继承父类中的注解
 
从 Java 7 开始,额外添加了 3 个注解:
@SafeVarargs - Java 7 开始支持,忽略任何使用参数为泛型变量的方法或构造函数调用产生的警

@FunctionalInterface - Java 8 开始支持,标识一个匿名函数或函数式接口

@Repeatable - Java 8 开始支持,标识某注解可以在同一个声明上使用多次

# 自定义注解

自定义注解语法

# 项目

# github地址

https://github.com/ArnoldShu/custom_annotations (opens new window)

# gitee地址

https://gitee.com/ArnoldSu/custom_annotations (opens new window)

#annotations
上次更新: 2023/10/09, 16:29:51
函数式编程(JAVA)

函数式编程(JAVA)→

最近更新
01
《领域驱动设计:软件核心复杂性应对之道》书摘
12-26
02
Linux 的常用命令
10-22
03
程序设计中SPI和API
10-22
更多文章>
Theme by Vdoing | Copyright © 2017-2024 Arnold Shu | CC BY-SA 4.0 License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式