目录

反射的概述

·什么是Java的反射机制

·Java的反射机制的作用

反射常用对象的概述

·Class

·Constructor

·Field

.Method

-Class类的常用方法和相关作用

.Class类

·如何得到某个class文件对应的Class对象

-Constructor类的基本作用和常用方法

.Constructor类

-Field类的基本作用和常用方法

.Field类

-Method类的基本作用和常用方法

.Method类

反射的概述

·什么是Java的反射机制

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

·Java的反射机制的作用

—是用来编写一些通用性较高的代码或者框架的时候使用。

反射常用对象的概述

·Class

—Class类的实例表示正在运行的Java 应用程序中的类和接口

·Constructor

—关于类的单个构造方法的信息以及对它的访问权限

·Field

—Field 提供有关类或接口的单个字段的信息,以及对它的动态访问权限。

.Method

—Method 提供关于类或接口上单独某个方法的信息。

-Class类的常用方法和相关作用

.Class类

·Java中java.lang.Class类用于表示一个类的字节码(.class)文件

——如何得到某个class文件对应的Class对象

1)已知类和对象的情况下  类名.class

2)Object类提供 未知类和对象的情况下  对象.getClass

3)Class.forName(“包名.类名”)

Class类代表某个类的字节码,并提供了加载字节码的方法: 

forName(“包名.类名”),forName方法用于加载类字节码到内存中,并封装成一个Class对象。

-Constructor类的基本作用和常用方法

.Constructor类

——Constructor类的实例对象代表类的一个构造方法得到某个类所有的构造方法

Constructor [] constructors= Class.forName("java.lang.String").getConstructors(); 得到指定的构造方法并调用

Constructor constructor = Class.forName("java.lang.String").getConstructor(String.class); String str = (String)constructor.newlnstance(“abc”);

Class类的newInstance()方法用来调用类的默认构造方法String obj =(String)Class.forName("java.lang.String").newlnstance();

-Field类的基本作用和常用方法

.Field类

——Field类代表某个类中的一个成员变量,并提供动态的访问权限Field对象的获得所有的成员变量

· Field[] fields = c.getFields();//取得所有public属性(包括父类继承)

· Field[] fields = c.getDeclaredFields(); //取得所有声明的属性 得到指定的成员变量

. Field name = c.getField("name");

· Field name=c.getDeclaredField("name");

-Method类的基本作用和常用方法

.Method类 

——Method类代表某个类中的一个成员方法Method对象的获得

- 获得所有方法

getDeclaredMethods()

A getMethods()

-获得指定的方法

getDeclaredMethod(String name, Class... parameterTypes) getMethod(String name, Class... parameterTypes)

通过反射执行方法

invoke(Object obj, Object...args)

——————————————————————————————七七——————————

                                                                                               2022.4.22

参考文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: