annotation

注解相当于一种标记,在程序中加了注解就等于为程序打上了某种标记。程序可以利用java的反射机制来了解你的类及各种元素上有无何种标记,针对不同的标记,就去做相应的事件。

基本注解

  • @Override 重写
  • @Deprecated过时
  • @SuppressWarnings压缩警告(可以无视一些警告)

元注解

元注解:用来描述注解的注解

  • @Retention--该注解什么时候生效
  • @Target--该注解用在哪里
  • @Documented
  • @Inherited
  • @Repeatable (java 8新增)

具体使用

//注解的定义
package com.annotation;

@Retention(RUNTIME)//runtime指的是运行时生效,还有class,document
@Target({FIELD,METHOD})//用在变量和方法上,当有多个的时候用{数组}
public @interface wuli {
    String value();
}

//用注解
package com.annotation;

public class User {
    @wuli("JAX")//当注解里面的只有一个value的时候可以不写value="JAX"
    private String username;
}

//用反射的方法读取注解里的信息
package com.annotation;

import java.lang.reflect.Field;

public class TestAnnotation {
    public static void main(String[] args) throws NoSuchFieldException, SecurityException {
        User user=new User();
        Field field=user.getClass().getDeclaredField("username");
        wuli annotation=field.getAnnotation(wuli.class);
        System.err.println(annotation.value());
        
    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 什么是注解(Annotation):Annotation(注解)就是Java提供了一种元程序中的元素关联任何信息和...
    九尾喵的薛定谔阅读 3,257评论 0 2
  • 本文章涉及代码已放到github上annotation-study 1.Annotation为何而来 What:A...
    zlcook阅读 29,350评论 15 116
  • 看了郭神公众号推荐的注解知识,想到自己这方面有欠缺,大家一起来学习.本文主要是对自己学到的知识进行总结,和大家分享...
    蓝冰海域阅读 728评论 0 4
  • 本篇文章讲述Java中注解的相关知识。从Java中内置的注解,到自定义注解,最后再介绍如何使用注解。 一、元素据 ...
    Android进阶与总结阅读 418评论 0 2
  • 世有搅屎棍,搅屎棍有两大嗜好。 其一,不怕臭。 其二,愿意搅。 所以,搅屎棍们对于指责他们的人,一般用这句经典的话...
    围观哥阅读 1,190评论 0 0