public Package getPackage()//获取当前类的包名
/**
如果是一般的class这里很好理解,就是所在的报名;但如果是原生类型,或者数组呢?
1.如果是数组,返回 null;
2.如果是原生类型,也返回返回 null
*/
/**
Returns the {@code Class} representing the component type of an
* array. If this class does not represent an array class this method
* returns null.
*/
public native Class<?> getComponentType()
/**
1.如果不是数组类型,返回为空
2.如果是数组类型,则返回其元素类型:
(new int[3]).getClass().getComponentType() 返回 int.class
(new String[3]).getClass.getComponentType 返回 java.lang.String.class;
*/
public String getSimpleName()//获取简单名称,不带报名
/**
1.如果是原生类型,如 int.class.getSimpleName() 返回 int
2.如果是数组类型,则返回其元素类型的修饰符:
(new int[3]).getClass().getSimpleName() 返回 int[]
(new String[3]).getClass.getSimpleName()返回 Integer[]
*/
public String getCanonicalName()//获取最权威的类名称,由Java虚拟机定义
/**
1.如果是原生类型,如 int.class.getCanonicalName() 返回 int
2.如果是数组类型,则返回其元素类型的修饰符:
(new int[3]).getClass().getCanonicalName() 返回 int[]
(new String[3]).getClass.getCanonicalName()返回 java.lang.Integer[]
3.如果是Object类型,返回全类名,包名+类名
*/
public Field[] getFields() throws SecurityException;
/**
1.如果是原生类型,如 int.class.getFields() 返回 空
2.如果是数组类型,则返回其元素类型的修饰符:
(new int[3]).getClass().getFields() 返回 空
(new String[3]).getClass.getFields()返回 空
3.如果是普通类,则返回它自己所有的public字段(静态字段和实例字段)和他所能够继承的所有public字段(静态字段和实例字段)
*/
public Constructor<?>[] getConstructors() throws SecurityException;
/**
1.如果是原生类型,如 int.class.getConstructors() 返回 空
2.如果是数组类型,则返回其元素类型的修饰符:
(new int[3]).getClass().getConstructors() 返回 空
(new String[3]).getClass.getConstructors()返回 空
3.如果是普通类,则返回它自己所有的public型的构造函数,私有函数不算
*/
public Field getField(String name) throws NoSuchFieldException, SecurityException
//普通类,则可以获取它自己名称为name的public字段(静态字段和实例字段)或者是名称为name的他所能够继承的public字段(静态字段和实例字段)
public Method getMethod(String name, Class<?>... parameterTypes)
throws NoSuchMethodException, SecurityException
//普通类,则可以获取它自己名称为name的public方法(类方法和实例方法)或者是名称为name的他所能够继承的public方法(类方法和实例方法)
public Constructor<T> getConstructor(Class<?>... parameterTypes)
throws NoSuchMethodException, SecurityException
//普通类,可以获取它自己public构造函数,参数为parameterTypes
public Field[] getDeclaredFields() throws SecurityException
//普通类,可以获取它自己所有的成员字段(静态字段和实例字段),不包含从父类或接口继承而来的
public Constructor<?>[] getDeclaredConstructors() throws SecurityException
//普通类,可以获取它自己所有的成员方法(类字段和实例方法),不包含从父类或接口继承而来的