美文网首页
Java Reflection Mechanism(反射机制)

Java Reflection Mechanism(反射机制)

作者: 铜雀春深锁不住 | 来源:发表于2017-07-04 12:43 被阅读0次

1. Why do we need the java reflection?

     Answer:  to discover the information about an object at the runtime.so it is a dyamic mechansim.

2. Wiki says the reflection is:

  the program observe itself,modifies itself structure and action(行为).

3. what can reflection can do at the runtime                        (在运行时)?

   判断任意一个对象所属的类;

   构造任意一个类的对象;

   判断任意一个类所具有的成员变量和方法;

   调用任意一个对象的方法;

   生成动态代理。

3 steps the reflection do

4: talk about Classes

      In java,the object(对象)有两种类型:引用类型和基本类型

引用类型 extends java.lang.Object

基本类型  boolean, byte, short, int, long ,double ,char ,float

理解 class 和 object

java reflection 允许在程序运行时去获取一个class(类)的成员变量和方法。

虚拟机在class文件的加载阶段,把类信息保存在方法区数据结构中,并在Java堆中生成一个Class对象,作为类信息的入口。

class对象

对于每种类型的对象,Java虚拟机会实例化出一个不可变的java.lang.Class对象的实例,如上图所示.它提供了一些方法去检查这个对象的运行时属性包括它的成员和类型信息。Class类同时也提供了创造新的类和对象的能力。最重要的是它是所有反射API(Reflection APIs)的出发点。

5: how to begin the reflect operation?

       step1:get  the class 对象

       just like this:

              class c=obj_instance.getclass();

       if there no instance of an obj,how to do?

           boolean b;

          Class d = b.getClass();  // 编译错误

          Class d = boolean.class;  // 正确

      step2: when we already get the class 对象 in step1,then we can get  class 对象中的声明信息,例如 

               修饰符 public private protected abstract static final

      后续step:

               既然获得了class对象,也就获得了方法区中类信息的入口,可以获得类的方法,成员变量,给方法赋值,给属性赋值,扩展数组等。

相关文章

  • Java反射机制入门

    Java反射机制入门 一、什么是反射 JAVA反射机制(The JAVA reflection mechanism...

  • Java Reflection Mechanism(反射机制)

    1. Why do we need the java reflection? Answer: to disco...

  • Java基础之反射

    Java基础之—反射(非常重要)Java中反射机制详解Java进阶之reflection(反射机制)——反射概念与...

  • 反射之一

    总结内容源自一下文章粗浅看java反射机制反射机制应用实践谈谈java反射机制Java Reflection(反射...

  • 反射之二

    总结内容源自一下文章粗浅看java反射机制反射机制应用实践谈谈java反射机制Java Reflection(反射...

  • Chapter 13 . 反射机制

    阅读原文 Chapter 13 . 反射机制 13.1 Java反射机制研究及应用 Java Reflection...

  • Java反射

    1. 什么是反射(Reflection )? Java 语言的反射(Reflection)机制,就是通过动态的方式...

  • Java 反射机制

    [1]. java反射详解[2]. Java Reflection(反射机制)详解[3]. 深入理解Java类型...

  • 详解Java反射机制(Reflection)

    详解Java反射机制(Reflection) 反射机制的作用 JAVA反射机制是在运行状态中,对于任意一个类,都能...

  • Java反射机制

    一、Java 反射机制概述 1. 反射概述 Reflection (反射)是被视为 动态语言 (动态性是核心,底...

网友评论

      本文标题:Java Reflection Mechanism(反射机制)

      本文链接:https://www.haomeiwen.com/subject/ebgthxtx.html