• Java反射机制的浅显理解(这篇文章还没写好,留个草稿给自己看的)


      目前只是有一个大概的理解,先把自己感觉容易立即的概念放这里,等以后结合实际工作理解深刻了再来补充。

    一.什么是Java反射机制?(多种定义)

      1. JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。

    二. java反射机制的作用?(多种说法,意思可能相同或重复)

      1.Java反射机制容许程序在运行时加载、探知、使用编译期间完全未知的classes。换言之,Java可以加载一个运行时才得知名称的class,获得其完整结构。

      2.通过Java反射机制,可以在程序中访问已经装载到JVM(java虚拟机)中的java对象的描述,实现访问、检测和修改描述Java对象本身信息的功能。

    三. 获取类的Class对象

      Class 类的实例表示正在运行的 Java 应用程序中的类和接口。获取类的Class对象有多种方式:

      1. 通过getClass()

        众所周知,所有的Java类均继承了Object类,在Object类中定义了一个getClass()方法,该方法返回一个类型为class的对象。代码如下:  

      JTextField textField = new JTextField();
      Class textFieldC = textField.getClass();

        利用Class类的对象textFieldC,可以访问textField对象的描述信息。

      2. 运用static method Class.forName()  

    Class<?> classType5 = Class.forName("java.lang.Boolean");
    System.out.println(classType5);

        输出:class java.lang.Boolean。

      3. 运用.class 语法

    Class<?> classType4 = Boolean.class;
    System.out.println(classType4);
    

        输出:class java.lang.Boolean

     四. 通过反射可访问的主要描述信息有:包路径、类名称、继承类、实现接口、构造方法、方法、成员变量、内部类等等,具体内容请参见《Java从入门到精通(实例版)》第九章

      内容。(容续)

     五. 实例

      比如通过xml文件加载某个类,该类中调用了另一个类的某一个变量,但是在编译期间系统是不知道具体是哪个类的,到了运行期间,加载了xml文件后,需要动态的使用该类的变量,这是便用到了放射机制。

    六.参考资料

      1. 《Java从入门到精通(实例版)》第九章内容;

      2. http://blog.csdn.net/yongjian1092/article/details/7364451该网友文章

  • 相关阅读:
    安装原版Win8.1并激活
    Java8 List<对象> 转 Set、Map(高级)、排序、分组、统计
    SpringCloud第二弹(高可用Eureka+Ribbon负载均衡)
    SpringCloud第一弹(入门)
    SpringBoot+Shiro+Redis共享Session入门小栗子
    Go语言(IDEA下+Eclipse下)Hello World
    Linux学习杂谈
    小孩儿才分对错,成年人只看利弊
    Xshell5
    91 Testing MySQL学习总结
  • 原文地址:https://www.cnblogs.com/tjudzj/p/4450708.html
Copyright © 2020-2023  润新知