Java反射机制

反射机制是 Java 的动态性之一:

动态语言:在程序运行时,可以改变程序的结构或变量的 类型。 举例:JavaScript 典型的动态语言”Python、rubyJavaScrip

C,C++Java 不是动态语言,但具有一定的动态性,可以 称为”准动态语言”,具备类似动态语言的特性。传一块代码来动态的执行,动态的处理,Java 也能做,可以利用反射来实现类似的功能。Java的动态性让编程变得更加的灵活,功能就更加的强大。

反射机制:

程序在运行的过程中加载一些“只知道相关名字”的类,

以下代码,在程序运行时加载 User 类。

Class c=Class.forName("com.max.reflect.User");

一个类被加载后,JVM 会创建一个对应类的 Class 对象,

类的整个结构信息会被放到 Class 对象中。这个 Class 对象就像镜子一样,通过这面镜子,可以得到对应类的全部信息。

1.3 反射机制的常见作用

1) 动态的加载类、动态的获取类的信息(属性,方法,构造 器)

2) 动态构造对象

3) 动态调用类和对象的任意方法、构造器

4) 动态调用和处理属性

5) 获取泛型信息

6) 处理注解

1.4 获取 Class 对象的方式

1) 通过字节码文件

2) 对象的 getClass()方法

3) Class 类的静态方法 forName(….)

posted @ 2020-02-20 10:13  赵广陆  阅读(16)  评论(0编辑  收藏  举报