Annotation
2015-10-29 13:06
417 查看
注解: Annotation 1、内置注解:常见的三种内置注解 1)、@Override 表示长些超类中的方法 2)、@Deprecated 表示不建议使用的元素 3)、SuppressWarnings 表示抑制程序中的一些警告 2、元注解(meta-annotation):java.lang.annotion中定义了4个标准的元注解,(前两个常用) 1)、@Target 表示注解的使用地点 2)、@Retention 注解可以被读取的范围 3)、@Documented 4)、@Inherited 自定义注解格式: 元注解(作用是来解释自定义注解) public @interface 类名{ 参数 } 注意事项: 1、自定义注解时通常需要指定default值,如0,“”(空字符串),-1(表示不存在) 2、如果不指定默认值,使用时就要添加,否者报错 3、如果自定义注解只有一个参数,建议起名为value 4、注意一下参数的形式 eg:String[] value() 看起来想函数,其实表示字符串数组
package com.chen.annotation01;import java.util.Date;/*** 认识一下常用的一些注解* @author Administrator**/public class Demo01 {// 重写方法@Overridepublic String toString() {return "我重写的";}public static void main(String[] args) {Date data = new Date();// 不建议使用的方法data.parse("dsacd");}@SuppressWarnings(value = { "all" })// value参数除了all外还有:deprecation、unchecked、finally....public void test01() {Date data = new Date();// 这里就不警告了data.parse("dsacd");}}
package com.chen.annotation01;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;/*** 自定义注解* @author Administrator**/@Target(value = {ElementType.FIELD, ElementType.METHOD})// 适用于注解方法和属性,还有其他类型@Retention(value = RetentionPolicy.RUNTIME)// 还有其他两种类型CLASS、SOURCE 但这种作用范围最广public @interface MyAnnotation {String str() default "";int id() default 0;int x() default -1;String[] value();}
package com.chen.annotation01;/*** 测试自定义注解* @author Administrator**///报错,因为@MyAnnotation定义为只能用于方法和属性前面//@MyAnnotation(id = 1, value = { "aaa" })public class TestMyAnnotation {public static void main(String[] args) {}@MyAnnotation(id = 1, value = { "aaa" })// 由于value没有设置默认值,这里就必须指定public static void test01() {}}
相关文章推荐
- javascript: detect mobile devices or browser
- PHP中关于foreach的简单的用法总结
- javascript: detect mobile devices or browser
- Apache Hadoop2.0之HDFS均衡操作分析
- 多线程卖票,死锁问题和生产者消费者问题!
- Centos 部署安装keepalived(1)
- POJ 3069 Saruman's Army 贪心
- Log4j2在WEB项目中配置
- Java编程思想 - 第7章、复用类
- 删除文件后,磁盘可用空间并没有释放怎么办?
- Andriod控件PopupWindow嵌套Listview
- iOS笔试题
- 【转】Linux网络编程入门
- BarCode Reader SDK使用教程:如何从图像中读取条码
- OAuth 2.0 授权原理
- 【FastDev4Android框架开发】AndroidAnnnotations注入框架使用之注入组件Components(九)
- 河南第八届省赛(挑战密室)
- 解决Xcode7.1插件安装的办法
- javascript: detect mobile devices or browser
- KL Divergence between two multivariate normal distributions(使用了trace 和Expection的性质)