1.所有的类都从Object类继承,Object中有一个getClass()方法,因此所有的对象都能有调用getClass()方法。
2.Class是什么?
类在被load到内存后,其实也是一个对象,如abc.class就是一个Class的对象,每个对象都可以调用getClass()方法来获得这个对象,获得这个class对象后就可以通过方法来对这个类进行操作了。同时,Class也有静态方法按照名称把类加载到内从中。
1)通通过名称把类加载到内从中:
Class.forName(String name)
2)有了对象就有了一切!
有了对象就可以调用getClass()方法获取到class对象
有了class对象就可以调用它的方法,比如:
我想获得这个类的名字:class.getName()
我想获得这个类的构造方法:Constructor constructor =
class.getConstructor(Class[] parameterTypes) ---Class[] parameterTypes 例如:new Class[]{int.class,String.class}
class.getConstructors()
我想创建一个对象:
class.newInstance()
constructor. newInstance(Class[] parameterTypes)
我想获得这个类的属性:Field field =
class.getField(属性名)
class.getFields()
我想获得或设置这个属性的值:
field.get(要获得值的对象)
field.set(要设置值的对象)
我想获得这个类的方法:Method method =
class.getMethod(Class[] parameterTypes)
class.getMethods()
我执行这个类的方法:method.invoke(要调用方法的对象,参数...)
原文:http://www.cnblogs.com/lovgge/p/3614500.html