• 注解和反射


    1. Annotation注解:以"@注释名",可以添加一些参数,可以对程序作出一些解释

      @Target:用于描述注解的使用范围(即:被描述的注解可以用在什么地方)

      @Retention:表示需要在什么级别保持改注解,用于描述注解的生命周期(RUNTIME)

      @Document:说明该注解将被包含在javadoc中

      @Inherited:说明子类可以继承父类中的该注解

      使用@interface自定义注解,自动继承Java.lang.annotation.Annotation接口

    2. 反射 (类:加载:生成class类,链接:二进制代码合并到JVM中,初始化)

      java.lang.Class:代表一个类

      java.lang.reflect.Method/Field:代表类的方法/成员变量

      java.lang.reflect.Constructor:代表类的构造器

      获取Class类的实例:

      1. Class class=Person.class;
      2. Class class=Person.getClass();
      3. Class class=Class.forName("包名路径.类名");
    3. 动态创建对象

      invoke(激活的意思)方法介绍: setName.invoke(user,"David");

      创建的user对象,激活user.setName方法,传递"David" setName方法的参数

      name.setAccessible(true); 关闭程序的安全检查,就可以操作class内的private属性或方法

      关闭检查,可以提高反射程序运行效率

  • 相关阅读:
    java7或java8新特性
    反射中,Class.forName和ClassLoader区别
    &和&&的区别
    JAVA时区问题总结
    索引失效原因及解决索引失效方法
    索引失效的7种情况
    MySQL Explain详解
    java switch
    java 生成注释文档
    spring 获取配置文件的值
  • 原文地址:https://www.cnblogs.com/DingGuo/p/14972960.html
Copyright © 2020-2023  润新知