脚本宝典收集整理的这篇文章主要介绍了javaSE.注解和反射,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
注解是所有框架的底层;
1.注解入门
什么是注解
Annotation是JDK5.0开始引入的技术;
Annotation的作用:
不是程序本身,可以对程序做出解释(这点和注释comment)没有区别;
可以被其他程序(比如编译器等)读取;
Annotation的格式:
注解是以@注释名
在代码中存在,还可以添加一些参数值,例如`@SuppressWarnings(value="unchecked");
Annotation在哪里使用
可以附加在package,class,method,field等上面,相当于给他们添加了额外的辅助信息,可以通过反射机制编程实现对这些元素的访问;
2.内置注解 @Override: 定义在java.lang.Override中,只适用于修饰方法,表示一个方法声明打算重写超类中的另一个方法声明; @Deprecated: 定义在java.lang.Deprecated中,可用于修饰方法、属性、类,表示不鼓励程序员使用这些类,通常是因为它很危险或存在更好的选择; @SuppressWarnings:定义在java.lang.SuppressWarnings中,用来抑制编译时的警告信息; 与前两个注释不同,需要添加一个参数才能使用,这些参数都是已经定义好的: @SuppressWarnings("all") @SuppressWarnings("unchecked") @SuppressWarnings(value={"unchecked","deprecation"}) ...
3.元注解(meta-annotation) 元注解的作用就是负责注解其他注解,Java定义了4个标准的元注解类型,它们被用来对其他注解类型作说明; 这些类型和它们所支持的类在java.lang.annotation包中可以找到: @Target:用于描述注解的使用范围(即被注解的注解可以用在什么地方:方法、属性、类); @Retention:表示需要在什么级别保存该注释信息(有效),用于描述注解的声明周期(SOURCE < CLASS < RUNTIME); @Document:说明该注解将被包含在javadoc中; @Inherited:说明子类可以继承父类中的该注解;
4.自定义注解 使用@interface 自定义注解,自动继承了java.lang.annotation.Annotation接口;
@interface 注解名{定义类容}
;/**
* Annotion 注解
*/
public class D01Annotation {
@MyAnnotation1(name = "zs",age=20,cars={"ford","bens"})
public void test1(){
}
//只有1个参数,且是value,可以省略
@MyAnnotation2("ls")
public void tests(){
}
}
@Target({ElementType.TYPE,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotation1{
//注解的参数:参数类型 参数名();
String name();
int age();
int id() default -1;//默认值-1,代表不存在
String[] cars();
}
@Target({ElementType.TYPE,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotation2{
//注解的参数:只有一个参数,推荐用value;
String value();
}
以上是脚本宝典为你收集整理的javaSE.注解和反射全部内容,希望文章能够帮你解决javaSE.注解和反射所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。