javaSE.注解和反射

发布时间:2022-06-20 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了javaSE.注解和反射脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

注解和反射

注解(Annotation)

注解是所有框架的底层; 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用来声明一个注解,格式:@interface 注解名{定义类容}
  • 其中的每个方法实际上是声明了一个配置参数;
  • 方法名称就是参数名称;
  • 返回值类型就是参数的类型,返回值只能是基本类型(Class、String、enum);
  • 可以通过default来声明参数的默认值;
  • 如果只有一个参数成员,一般参数名为value,可以不写;
  • 注解元素必须要有值,定义注解时,经常使用空字符串、0作为默认值;
/**
 * 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,请注明来意。
标签: