a、通过一个全限类名创建一个对象
1)、Class.forName("全限类名");例如:com.mysql.jdbc.Driver,Driver类已经被加载到jvm中,并完成了类的初始化工作就行了
2)、类名.class:获取Class<?>clz 对象
3)、对象.getClass();
b、获取构造器对象,通过构造器new出一个对象
1)、Clazz.getConstructor([String.class]);
2)、Con.newInstance([参数]);
c、通过class对象创建一个实例对象(就相当new类名() 无参构造器)
1)、Clazz.newInstance();
d、通过class对象获得一个属性对象
1)、Field c = clz.getFields():获取某个类的所有公共(public)的字段,包括父类中的字段。
2)、Field c = clz.getDeclaredFields():获取某个类中所有的声明字段,即包括public、private和procteced,但是不包括父类的声明字段。
e、通过一个class对象获得一个方法对象
1)、Clazz.getMethod("方法名",class...parameaType);(只能获取公共的)
2)、Clazz.getDeclareMethod("方法名");(获取任意修饰的方法,不能执行私有)
3)、M.setAccessible(true);(让私有方法可以执行)
f、让方法执行
1)、Method.invoke(obj实例对象,obj可变参数);--(是有返回值的)