public final native Class<?> getClass();//没有具体方法体,这是本地方法,底层是JNI机制,调用的写好的C\C++代码
复制代码
以上的方法返回值的类型是一个 Class 类,此类是 Java 反射的源头,实际上所谓反射从步伐的运行结果来看也很好理解,即:可以通过对象反射求出类的名称。
对象照镜子后可以得到的信息:某个类的属性、方法和构造器、某个类到底实现了哪些接口。对于每个类而言,JRE 都为其保留一个不变的 Class 类型的对象。一个 Class 对象包含了特定某个布局(Class/Interface/Enum/Annotation/Primitive Type/void/[])的有关信息。 Primitive Type代表的基本数据类,如int,long等八大基本数据类型。注意基本数据类型和其包装类的Class对象不是同一个。
方法名功能阐明static Class forName(String name)返回指定类名 name 的 Class 对象Object newInstance()调用缺省构造函数,返回该 Class 对象的一个实例getName()返回此 Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称Class getSuperClass()返回当前 Class 对象的父类的 Class 对象Class [] getInterfaces()获取当前 Class 对象的接口ClassLoader getClassLoader()返回该类的类加载器Class getSuperclass()返回表示此 Class 所表示的实体的超类的ClassConstructor[] getConstructors()返回一个包含某些 Constructor 对象的数组Field[] getDeclaredFields()返回 Field 对象的一个数组Method getMethod(String name,Class … paramTypes)返回一个 Method 对象,此对象的形参类型为 paramType3.类的加载与ClassLoader的理解
public Class[] getClasses():返回全部公共内部类和内部接口。包罗从超类继承的公共类和接口成员以及该类声明的公共类和接口成员。
public Class[] getDeclaredClasses():返回 Class 对象的一个数组,这些对象反映声明为此 Class 对象所表示的类的成员的全部类和接口。包罗该类所声明的公共、保护、默认(包)访问及私有类和接口,但不包罗继承的类和接口。
public Class getDeclaringClass():假如此 Class 对象所表示的类或接口是一个内部类或内部接口,则返回它的外部类或外部接口,否则返回 null。
Class getEnclosingClass() :返回某个内部类的外部类。
4.2.7 小 结