Class类是Java反射机制中的一个核心类,它用于表示一个类或接口的元数据信息。每个类在运行时都有一个对应的Class对象,通过该对象可以获取和操作类的属性、方法、构造函数等信息。
以下是Class类的一些常用方法和功能:
获取Class对象:可以使用以下方法之一来获取表示类的Class对象:
Class.forName("fully.qualified.ClassName"):通过类的全限定名获取Class对象。该方法需要提供类的完整包名和类名。
object.getClass():通过对象的getClass()方法获取其对应的Class对象。
ClassName.class:通过类字面常量获取Class对象。
获取类的信息:通过Class对象可以获取类的各种信息,如类名、包名、修饰符、父类、接口等。一些常用的方法包括:
getName():获取类的全限定名。
getSimpleName():获取类的简单名(不包含包名)。
getPackage():获取类所在的包。
getModifiers():获取类的修饰符。
getSuperclass():获取类的父类。
getInterfaces():获取类实现的接口。
创建对象实例:通过Class对象可以使用构造函数来创建类的对象实例。可以使用以下方法之一:
newInstance():调用类的无参构造函数来创建对象实例。注意,该方法在Java 9中被标记为过时(Deprecated)。
getConstructor(parameterTypes).newInstance(args):使用指定参数类型的构造函数来创建对象实例。
访问和操作类的成员:通过Class对象可以获取类的字段和方法,并对其进行访问和操作。一些常用的方法包括:
getFields():获取类的公共字段。
getDeclaredFields():获取类的所有字段,包括私有字段。
getMethods():获取类的公共方法。
getDeclaredMethods():获取类的所有方法,包括私有方法。
getField(fieldName):获取指定名称的公共字段。
getDeclaredField(fieldName):获取指定名称的字段,包括私有字段。
getMethod(methodName, parameterTypes):获取指定名称和参数类型的公共方法。
getDeclaredMethod(methodName, parameterTypes):获取指定名称和参数类型的方法,包括私有方法。
网友评论