public static Class forName(String className)throws ClassNotFoundException
加载类并返回Class类的引用。
public Object newInstance()throws InstantiationException,IllegalAccessException
创建新实例。
public boolean isInterface()
检查它是否是接口。
public boolean isArray()
检查它是否为数组。
public boolean isPrimitive()
检查它是否原始。
public Class getSuperclass()
返回超类的类引用。
public Field[] getDeclaredFields()throws SecurityException
返回此类的字段总数。
public Method[] getDeclaredMethods()throws SecurityException
返回此类的方法总数。
public Constructor[] getDeclaredConstructors()throws SecurityException
返回此类的构造函数总数。
public Method getDeclaredMethod(String name,Class[] parameterTypes)throws NoSuchMethodException,SecurityException
返回方法类实例。
如何获取Class类的对象?
有3种获取Class类实例的方法。它们如下:
类的
forName()方法 对象类的
getClass()方法.class语法
1)Class类的forName()方法
用于动态加载类。返回Class类的实例。如果您知道类的全限定名,则应使用它。不能将其用于基本类型。
让我们看看forName()方法的简单示例。
class Simple{ } class Test{ public static void main(String args[]){ class c=Class.forName("Simple"); System.out.println(c.getName()); } }
Simple
2)Object class的getClass()方法
它返回Class类的实例。如果您知道类型,则应使用它。而且,它可以与原语一起使用。
class Simple{ } class Test{ void printName(Object obj){ class c=obj.getClass(); System.out.println(c.getName()); } public static void main(String args[]){ Simple s=new Simple(); Test t=new Test(); t.printName(s); } }
Simple
3).class语法
如果类型可用,但没有实例,则可以通过将" .class"附加到类型的名称,也可以用于原始数据类型。
class Test{ public static void main(String args[]){ class c = boolean.class; System.out.println(c.getName()); class c2 = Test.class; System.out.println(c2.getName()); } }