java自定义注解
来源:互联网 发布:纬地软件 编辑:程序博客网 时间:2024/06/16 06:48
一、为什么要学习注解?学习注解有什么好处?学完能做什么?
1、能够读懂别人写的代码,别别是框架相关的代码
2、让编程更加简洁,代码更加清晰。
JDK自带注解(JDK1.5以后版本能用)
1、 @Override //覆盖
2、 @Deprecated //已经过时
3、 @SuppressWarnings("deprecation") //压制警告(过时)
注解分类
按运行机制分
1、源码注解
2、编译时注解
3、运行时注解
按照来源划分
1、来自JDK的注解
2、来自第三方的注解
3、自定义注解
元注解
自定义注解
成员类型是受限的,合法的类型包括原始类型及String,Calss,Anootation,Enumreation
如果注解已有一个成员,则成员名必须取名为Vaue(),在使用的时可以忽略成员名和赋值号(=)
注解类可以没有成员,没有成员的注解成为表示注解
public @interface javen{
String name();
String author();
int age() default 19;
}
元注解
@Target({ElementType.CONSTRUCTOR,ElementType.FIELD,ElementType.METHOD})
// Target 注解的作用域 CONSTRUCTOR 构造方法声明,FIELD 字段声明,LOCAL_VARIABLE 局部变量声明 ,METHOD 方法声明,PACKAGE 包声明,PARAMETER 参数声明,TYPE 类接口。
@Retention(RetentionPolicy.RUNTIME)
//Retention 生命周期 SOURCE 只在源码显示,编译时会丢弃,CLASS 编译时会记录到class中,运行时忽略,RUNTIME 运行时存在,可以通过反射读取。
@Inherited
//Inherited 允许子类继承
1、能够读懂别人写的代码,别别是框架相关的代码
2、让编程更加简洁,代码更加清晰。
JDK自带注解(JDK1.5以后版本能用)
1、 @Override //覆盖
2、 @Deprecated //已经过时
3、 @SuppressWarnings("deprecation") //压制警告(过时)
注解分类
按运行机制分
1、源码注解
2、编译时注解
3、运行时注解
按照来源划分
1、来自JDK的注解
2、来自第三方的注解
3、自定义注解
元注解
自定义注解
成员类型是受限的,合法的类型包括原始类型及String,Calss,Anootation,Enumreation
如果注解已有一个成员,则成员名必须取名为Vaue(),在使用的时可以忽略成员名和赋值号(=)
注解类可以没有成员,没有成员的注解成为表示注解
public @interface javen{
String name();
String author();
int age() default 19;
}
元注解
@Target({ElementType.CONSTRUCTOR,ElementType.FIELD,ElementType.METHOD})
// Target 注解的作用域 CONSTRUCTOR 构造方法声明,FIELD 字段声明,LOCAL_VARIABLE 局部变量声明 ,METHOD 方法声明,PACKAGE 包声明,PARAMETER 参数声明,TYPE 类接口。
@Retention(RetentionPolicy.RUNTIME)
//Retention 生命周期 SOURCE 只在源码显示,编译时会丢弃,CLASS 编译时会记录到class中,运行时忽略,RUNTIME 运行时存在,可以通过反射读取。
@Inherited
//Inherited 允许子类继承
@Documented 生成javadoc的时候包含注解
阅读全文
0 0
- Java注解-自定义注解
- Java注解----自定义注解
- Java注解自定义注解
- 【Java】【注解】自定义注解
- java之注解 自定义注解
- Java注解-自定义注解实例
- Java注解二 自定义注解
- Java注解及自定义注解
- java 注解详解,自定义注解
- Java注解(2)-自定义注解、注解处理器
- java自定义注解实践
- Java自定义注解
- java自定义注解
- java自定义注解
- java自定义注解
- java自定义注解
- java自定义注解
- java自定义注解
- Android开发之神奇的Fading Edge,让你的View更有层次感!
- 2018年,大数据公司将如何实现数据变现?
- matlab-求解最优化问题的函数fminbnd,fmincon,quadprog.....区别总结
- ros工作空间编译问题
- int main(int argc,char* argv[])详解
- java自定义注解
- zoj3617(二分)
- 字符串匹配的KMP算法_阮一峰
- Easyui实例--tree组件的使用2
- js获取链接地址后的参数
- autoquad源码分析1
- 支付宝、财付通、网银、百度钱包、京东钱包接口费率
- 流式布局
- 【missing data】Imputation realization in Python (Implementation)