首页 > 编程语言 >Java注解Annotation

Java注解Annotation

时间:2022-10-17 21:32:29浏览次数:53  
标签:lang Java java annotation import 注解 ElementType Annotation


  • 介绍

用过Spring或者Struts的童鞋,肯定都知道Java里有Annotation这个东西,可以写在类、方法以及属性上。本文将介绍有关自定义Annotation的内容。

  • 例子

[codesyntax lang="java"]


/**
* Copyright By suren.
* You can get more information from my website:
* http://surenpi.com
*/
package org.suren.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.lang.reflect.Field;
import java.util.Arrays;

/**
* @author suren
* @date 2015年10月12日 上午10:16:41
*/
@SuRenAnnotation(value = "good")
@SuRenAnnotationA
public class Tester
{
@SuRenAnnotationA
private String name;

/**
* @param args
*/
public static void main(String[] args)
{
System.out.println(Arrays.toString(Tester.class.getAnnotations()));
System.out.println(Arrays.toString(Tester.class.getDeclaredAnnotations()));

for(Field field : Tester.class.getDeclaredFields()){
System.out.println(Arrays.toString(field.getAnnotations()));
}
}

}

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
@interface SuRenAnnotation
{
String value();
}

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.TYPE})
@interface SuRenAnnotationA
{
}

@interface SuRenAnnotationB{
}


[/codesyntax]

 

从上面的例子中可以看到,如果自定义的Annotation中没有标注@Retention(RetentionPolicy.RUNTIME)的话,是无法通过反射的方法获取到的。

标签:lang,Java,java,annotation,import,注解,ElementType,Annotation
From: https://blog.51cto.com/suren/5764424

相关文章

  • Java注解与反射个人学习笔记
    注解和反射注解什么是注解内置注解packagecom.siu.annotation;importjava.util.ArrayList;importjava.util.List;//什么是注解publicclassTest01extend......
  • Java异常处理
    一、异常概念:异常:即指在程序执行的过程中,出现非正常情况,最终导致JVM的非正常停止。在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建一个异常对象并抛出......
  • 1003 我要通过!(JAVA)
    “答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于PAT的“答案正确”大派送——只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”......
  • 1002 写出这个数(JAVA)
    读入一个正整数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。输出格式:在一行......
  • 1001 害死人不偿命的(3n+1)猜想(JAVA)
    卡拉兹(Callatz)猜想:对任何一个正整数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。卡拉兹在1950......
  • 1005 继续(3n+1)猜想(JAVA)
    卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对n=......
  • 1004 成绩排名(JAVA)
    读入n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包含1个测试用例,格式为第1行:正整数n第2行:第1个学生的姓名......
  • JavaGUI编程个人笔记
    GUI编程(了解)组件窗口弹窗面板文本框列表框按钮图片监听事件鼠标事件键盘事件破解工具简介Gui开发核心技术:SwingAWT界面不美观需要jre环境但还要学习......
  • 【Java】Java中的零拷贝
    物理内存计算机物理内存条的容量,比如我们买电脑会关注内存大小有多少G,这个容量就是计算机的物理内存。虚拟内存操作系统为每个进程分配了独立的虚拟地址空间,也就是虚拟......
  • 1010 一元多项式求导(JAVA)
    设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为nxn−1。)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出......