黑马程序员----jdk1.5新特性
来源:互联网 发布:瞻博网络中国区 编辑:程序博客网 时间:2024/04/28 12:48
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
---@Override 方法上面 判断是否重写
---@Deprecated 方法上面 表示方法废弃不建议被使用
---@SuppressWarnings("deprecation") 压制警告(废弃的警告)
2.学会自己写注解
---注解跟类接口同级 书写方式public @interface ItcastAnnotation
---在注解上定义注解
// 元注解 元数据 元信息 retention表示3中类型 class source runtime// target 表示注解的作用范围 比如 method 方法上面 type 类接口 注解枚举上面@Target({ ElementType.METHOD, ElementType.TYPE })@Retention(RetentionPolicy.RUNTIME)
这两个注解定义元素都是 枚举类型
public @interface Target { ElementType[] value(); } public @interface Retention { RetentionPolicy value(); }
一个注解实例
public @interface ItcastAnnotation { String color() default "blue"; // 特殊属性比如 @SuppressWarnings("deprecation") 就是等于value=“deprecation” // 但只有String value(); 时才能用 如果还有 String color() 但还想用就要设定默认值default "blue"; // 支持 @ItcastAnnotation("qixing")与 // @ItcastAnnotation(color="red",value="qixing") String value(); // 定义数组属性 int[] arrayAttr() default { 3, 4, 5 }; // 可以是枚举 /* * public @interface Target { ElementType[] value(); } * public @interface Retention { RetentionPolicy value(); } */ //还可以是annotation MyAnnotation annotationAttr() default @MyAnnotation("qixing"); }注解的使用
@ItcastAnnotation(color="red",value="qixing",annotationAttr = @MyAnnotation("yinhe"))public class AnnotationTest {//注解实例 //压制警告 @SuppressWarnings("deprecation") public static void main(String[] args) {/* System.runFinalizersOnExit(true); System.out.println("nihao");*/ if ( AnnotationTest.class.isAnnotationPresent(ItcastAnnotation.class)) { ItcastAnnotation anno = AnnotationTest.class.getAnnotation(ItcastAnnotation.class); System.out.println(anno); System.out.println(new Person()); System.out.println(anno.color()); System.out.println(anno.value()); System.out.println(anno.arrayAttr().length); System.out.println(anno.annotationAttr().value()); } }}
注解是什么呢 比如方法上的注解
1.ItcastAnnotation anno = AnnotationTest.class.getAnnotation(ItcastAnnotation.class); 得到方法上单注解名称
2.通过反射class.forname()得到 注解对象
3.比如3大基本注解 其实就是得到名字 jvm判断对象名字是否与override相等 如果相当就去执行判断是否重写的方法
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
- 黑马程序员-jdk1.5新特性---枚举
- 黑马程序员-jdk1.5新特性--注解
- 黑马程序员-jdk1.5新特性--泛型
- 黑马程序员-JDK1.5新特性
- 黑马程序员-jdk1.5新特性
- 黑马程序员-----jdk1.5的新特性
- 黑马程序员-----jdk1.5新特性
- 黑马程序员---jdk1.5新特性
- 黑马程序员--JDK1.5 新特性
- 黑马程序员---JDK1.5新特性
- 黑马程序员-高新技术-jdk1.5新特性
- 黑马程序员 jdk1.5的新特性
- 黑马程序员---JDK1.5新特性
- 黑马程序员-JDK1.5新特性之一
- 黑马程序员 — JDK1.5 新特性
- 黑马程序员----jdk1.5新特性
- 黑马程序员—jdk1.5新特性
- 黑马程序员--jdk1.5新特性
- 黑马程序员------------反射
- uva167 八皇后问题!输出固定宽度(#include<iomanip>)
- 山东理工大学ACM平台题答案 面向对象程序设计上机练习三(有默认参数的函数)1142
- Reverse Integer
- ${pageContext.request.contextPath} JSP取得绝对路径
- 黑马程序员----jdk1.5新特性
- STM32跳至硬件错误中断(HardFault_Handle)
- Windows窗口风格详细解释
- 断点续传,ibm那里拿来的文章,真心好,学习下
- 数据库缓存依赖命令 aspnet_regsql
- 多线程,socket,HTTP,ASIHttpRequest,等面试题总结集合
- 深究引用类型变量
- 一个PHP打印方法
- (字符串的映射与匹配7.3.13)UVA 10152 ShellSort(将初始序列转化成目标序列所需的最少次数,前提条件是:每一个元素只能移动栈顶)