类的加载、连接和初始化
final变量如果是静态的,要么定义时初始化,要么在静态代码块中初始化。final变量如果不是静态的,要么定义时初始化,要么在非静态代码块中初始化。
通过反射查看类信息
获得Class对象
- 使用Class类的forName()静态方法。出入的参数是字符串,全限定类名
- 调用类的class属性
- 调用对象的getClass()方法 ```java String.forName(“java.lang.String”); String.class;
String s = “aa”; s.getClass(); ```
从Class中获取信息
获取构造器
- Connstructor
getConstructor(Class<?>…parameterTypes)
返回此Class对象对应类的、带指定形参列表的public构造器
- Constructor<?>[] getConstructors()
返回此Class对象对应类的所有public构造器
- Connstructor
getDeclaredConstructor(Class<?>…parameterTypes)
返回此Class对象对应类的、带指定形参列表的构造器,与构造器的访问权限无关
- Constructor<?>[] getDeclaredConstructors()
返回此Class对象对应类的所有public构造器,与构造器的访问权限无关
获取方法
- Method getMethod(String name,Class<?>…parameterTypes)
返回此Class对象对应类的、带指定形参列表的public方法
- Method[] getMethods()
返回此Class对象对应类的所有public方法
- Method getDeclaredMethod(String name,Class<?>…parameterTypes)
返回此Class对象对应类的、带指定形参列表的方法,与方法的访问权限无关
- Method[] getDeclaredMethods()
返回此Class对象对应类的所有public方法,与方法的访问权限无关
获取成员变量
- Field getField(String name)
返回此Class对象对应类的、带指定形参列表的public成员变量
- Field[] getFields()
返回此Class对象对应类的所有public成员变量
- Field getDeclaredField(String name)
返回此Class对象对应类的、带指定形参列表的成员变量,与成员变量的访问权限无关
- Field[] getDeclaredFields()
返回此Class对象对应类的所有public成员变量,与成员变量的访问权限无关
获取Annotation
获取内部类
获取外部类
获取接口
获取父类
获取此类或接口的修饰符
获取此类的包
获取此类的名称
String getName()
获取类名
String getSimpleName()
获取类的简称
