JAVA什么是反射?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA什么是反射?相关的知识,希望对你有一定的参考价值。


什么是反射?

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

JAVA什么是反射?_动态调用

反射的使用?

在Java中,Class类与java.lang.reflect类库一起对反射技术进行了全力的支持。在反射包中,我们常用的类主要有Constructor类表示的是Class 对象所表示的类的构造方法,利用它可以在运行时动态创建对象、Field表示Class对象所表示的类的成员变量,通过它可以在运行时动态修改成员变量的属性值(包含private)、Method表示Class对象所表示的类的成员方法,通过它可以动态调用对象的方法(包含private)

  • Class类对象的获取
@Test
public void classTest() throws Exception
// 获取Class对象的三种方式
logger.info("根据类名: \\t" + User.class);
logger.info("根据对象: \\t" + new User().getClass());
logger.info("根据全限定类名:\\t" + Class.forName("com.test.User"));
// 常用的方法
logger.info("获取全限定类名:\\t" + userClass.getName());
logger.info("获取类名:\\t" + userClass.getSimpleName());
logger.info("实例化:\\t" + userClass.newInstance());

 

以上是关于JAVA什么是反射?的主要内容,如果未能解决你的问题,请参考以下文章

java开发--反射技术

Java的反射是什么?有什么用?

08.Java反射问题

Java中的反射

Java中的反射

Java中为什么需要反射?反射要解决什么问题?