本篇文章讲解了你需要理解的Java反射机制知识总结

本篇将从以下几个方面讲述反射的知识:

  • class 的使用

  • 方法的反射

  • 构造函数的反射

  • 成员变量的反射

一、什么是class类

在面向对象的世界里,万物皆对象。类是对象,类是java.lang.Class类的实例对象。另外class类只有java虚拟机才能new出来。任何一个类都是Class 类的实例对象。这实例对象有三种表达方式:

  1. public class User{
  2. }
  3. public class ClassTest{
  4. User u=new User();
  5. //方式1:
  6. Class c1=User.class;
  7. //方式2:
  8. Class c2=u.getClass();
  9. //方式3:
  10. Class c3=Class.forName("com.forezp.User"); //可以通过类的类型创建该类的实例对象 User user=(User)c1.newInstance();
  11. }

二、class类的动态加载

Class.forName(类的全称);该方法不仅表示了类的类型,还代表了动态加载类。编译时刻加载类是静态加载、运行时刻加载类是动态加载类。

三、获取方法信息

基本的数据类型,void关键字都Class 类的实例;可以通过getame();getSimpleName()获取类的名称。

  1. Class c1=String.class;
  2. Class c2=int.class;