美文网首页
Java 反射Reflection

Java 反射Reflection

作者: MrWu_ | 来源:发表于2018-03-02 15:38 被阅读12次

Java反射是可以让我们在运行时获取类的函数、属性、父类、接口等Class内部信息的机制。通过反射还可以让我们在运行期实例化对象,调用方法,通过调用get/set方法获取变量的值,即使方法或属性是私有的也可以通过反射的形式调用。

反射Class以及构造对象

如果你在编译期知道一个类的名字,那么你可以使用如下的方式获取一个类的Class对象

Class<?> myClass=Student.class;

如果你在编译期得到了某个对象,但是你想获取这个对象的Class对象,那么你可以通过如下的形式来获取Class 对象

Student me=new Student("hansheng");
Class<?> class=me.getClass();

如果你在编译期获取不到目标类型,但是你知道他的完整类路径,那么你可以通过如下的形式来获取Class对象

Class<?> myClass=Class.forName("com.hansheng");

接口说明

//加载完整路径
public static Class<?> forName(String className)

通过Class对象构造目标类型的对象
在java中药构造对象,必须通过该类的构造函数,那么其实反射也是如此。通过反射构造对象,我们首先获取类的Constructor(构造器)对象,然后通过Constructor来创建目标类的对象。

//获取class对象
Class<?> clazz=Class.forName("com.hansheng");
//通过class对象获取Constructor,Student的构造函数有一个字符串函数,这里需要传递参数的类型
Constructor<?> constructor =clazz.getConstructor(String.class);
//通过Constructor来创建Student对象
Object obj=constructor.newInstance("hansheng");
System.out.println("obj:"+obj.toStirng());

获取构造函数的接口

public constructor<T> getConstructor(Class...<?>paramterTypes)

相关文章

  • Java反射机制入门

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

  • Java反射

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

  • Java基础之反射

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

  • Reflection反射 和 Mirror镜像

    /* Reflection反射 和 Mirror镜像 Java 中的Reflection反射 是一种在运行时...

  • Java 反射机制

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

  • 反射之一

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

  • 反射之二

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

  • Chapter 13 . 反射机制

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

  • Java反射知识重拾

    什么是反射 Reflection is a feature in the Java programming lan...

  • java基础_反射

    相关文章 : 1. 公共技术点之 Java 反射 Reflection;2. Java反射原理简析;3. java...

网友评论

      本文标题:Java 反射Reflection

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