java--Annotation实现
@SuppressWarnings("unused")
@Deprecated
public class RealFood implements Food{
@SuppressWarnings("unused")
@Deprecated
@Override
public void eat() {
int x;
System.out.println("吃饭 ,,,,,RealFood");
}
}
- public Annotation[] getAnnotations() 取得全部的Annotation
import java.lang.annotation.Annotation;
import com.hbsi.proxy.RealFood;
public class TestDemo {
public static void main(String[] args) {
Class<?> cls = RealFood.class;
Annotation[] annotations = cls.getAnnotations();
for (int i = 0; i < annotations.length; i++) {
System.out.println(annotations[i]);
}
}
}
- public enum RetentionPolicy extends Enum<RetentionPolicy> 注释保留政策。
|
CLASS
|
注释将由编译器记录在类文件中,但VM不需要在运行时保留。类之中
|
|
注释将由编译器记录在类文件中,并由VM在运行时保留,因此可以反射读取。运行之中
|
|
|
注释将被编译器丢弃。源代码之中
|
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
//此注解在运行范围内有效
@Retention(value=RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
public String name() default "hbsi";//定义name属性
public String values();//定义values属性
}
import com.hbsi.annotation.MyAnnotation;
@MyAnnotation(name="hbsi",values="hebei")
public class RealFood implements Food{
@Override
public void eat() {
int x;
System.out.println("吃饭 ,,,,,RealFood");
}
}
再次运行上述代码中获得Annotation 的类得到的结果如下:
import java.lang.annotation.Annotation;
import com.hbsi.annotation.MyAnnotation;
import com.hbsi.proxy.RealFood;
public class TestDemo {
public static void main(String[] args) {
Class<?> cls = RealFood.class;
Annotation[] annotations = cls.getAnnotations();
for (int i = 0; i < annotations.length; i++) {
MyAnnotation annotation = cls.getAnnotation(MyAnnotation.class);
System.out.println(annotation.name());
System.out.println(annotation.values());
System.out.println(annotation.annotationType());
}
}
}
执行结果
java--Annotation实现的更多相关文章
- Java Annotation概述
@(Java)[Annotation|Java] Java Annotation概述 用途 编译器的相关信息,如用于检测错误和一些警告 编译时和部署时的处理,如一些软件用于自动生成代码之类的 运行时处 ...
- Java Annotation 注解
java_notation.html div.oembedall-githubrepos { border: 1px solid #DDD; list-style-type: none; margin ...
- paip.Java Annotation注解的作用and 使用
paip.Java Annotation注解的作用and 使用 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog. ...
- Java Annotation认知(包括框架图、详细介绍、示例说明)
摘要 Java Annotation是JDK5.0引入的一种注释机制. 网上很多关于Java Annotation的文章,看得人眼花缭乱.Java Annotation本来很简单的,结果说的人没说清楚 ...
- Java Annotation原理分析(一)
转自:http://blog.csdn.net/blueheart20/article/details/18725801 小引: 在当下的Java语言层面上,Annotation已经被应用到了语言的各 ...
- Java Annotation 及几个常用开源项目注解原理简析
PDF 版: Java Annotation.pdf, PPT 版:Java Annotation.pptx, Keynote 版:Java Annotation.key 一.Annotation 示 ...
- Java Annotation 机制源码分析与使用
1 Annotation 1.1 Annotation 概念及作用 1. 概念 An annotation is a form of metadata, that can be added ...
- Java Annotation手册
Java Annotation手册 作者:cleverpig(作者的Blog:http://blog.matrix.org.cn/page/cleverpig) 原文:http://www.matri ...
- Java Annotation 必须掌握的特性
什么是Annotation? Annotation翻译为中文即为注解,意思就是提供除了程序本身逻辑外的额外的数据信息.Annotation对于标注的代码没有直接的影响,它不可以直接与标注的代码产生交互 ...
- Java Annotation认知(包括框架图、详细介绍、示例说明)(转)
本文转自:http://www.cnblogs.com/skywang12345/p/3344137.html 网上很多关于Java Annotation的文章,看得人眼花缭乱.Java Annota ...
随机推荐
- 泡泡一分钟:Efficient Trajectory Planning for High Speed Flight in Unknown Environments
张宁 Efficient Trajectory Planning for High Speed Flight in Unknown Environments 高效飞行在未知环境中的有效轨迹规划链接: ...
- python web开发——django学习(二)第一个django网站运行成功
1.写message_form.html <!DOCTYPE html> <html lang="en"> <head> <meta ch ...
- ADB命令使用大法
前言 Android开发调试工具ADB的使用.ADB(Android Debug Bridge)是Android SDK中的一个工具, 使用ADB可以直接操作管理Android模拟器或者真实的And ...
- 【tensorflow-转载】tensorflow模型部署系列
参考 1. tensorflow模型部署系列: 完
- [LeetCode] 6. ZigZag Converesion 之字型转换字符串
The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like ...
- WIN7 浏览器 收藏夹栏字体太小
在“窗口颜色和外观”-项目-“消息框”,把字体大小调大. "标题按钮" 大小 21.
- Dnsmasq MacOS使用介绍
Dnsmasq MacOS使用介绍 问题: pc端开发时,需要在/etc/hosts里配置各种本地环境:当开发移动的界面时,除了使用浏览器的"手机模式"查看效果,还可以直接使用手机 ...
- 【Flume学习之二】Flume 使用场景
环境 apache-flume-1.6.0 一.多agent连接 1.node101配置 option2 # Name the components on this agent a1.sources ...
- MySQL数据库去重 SQL解决
MySQL数据库去重的方法 数据库最近有很多重复的数据,数据量还有点大,本想着用代码解决,后来发现用SQL就能解决,这里记录一下 看这条SQL DELETE consum_record FROM ...
- Linux基础系统优化(二)
SELinux功能 SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,这个功能管理员又爱又恨,大多数生产环境也是关闭的做法,安全手段使 ...