1、Class类的使用
2、方法的反射
3、成员变量的反射
4、构造函数的反射
5、java类加载机制
一、Class类 动态加载类
1.1、动态加载类 语法:
Class s=Class.forName("类的全称");
不仅表示了类的类型,还表示了动态加载类
区分编译与运行
编译时刻加载类是静态加载类,运行时刻加载类是动态加载类。
1.2 、new 为静态加载类,编译的时候就需要加载可能需要用到的类
Entity e =new Entity();
二、获取方法信息
2.1、 基本数据类型、关键字都存在类类型。
语法:
Class c = 类型.class;
2.2、Class类的Api
2.2.1、Method 类 方法对象
语法:
获取所有public函数,包括父类继承而来的方法 ;\ 获取所有该类自己声明的方法,不问访问权限
Method[] m= c.getMethods(); \ c.getDeclaredMethods();
for (int i= 0 ;i<m.length;i++)
{
//获取返回值类型 得到的是返回值的类类型
Class returnType =m[i].getReturnType();
System.out.println(returnType .getName());
//获取方法名称
m[i].getName();
//获取参数类型 --得到的是参数列表类型的类类型
Class[] paramType =m[i].getParameterTypes();
for (Class cas : paramType )
{
System.out.println(cas.getName());
}
}