程序经过javac.exe命令后,会生成一个或多个字节码文件(.class结尾)
再使用java.exe对某个字节码文件解释运行,就相当于把字节码文件加载到内存中,并将这些静态数据转换成方法区的运行时数据结构,然后生成一个代表这个类的Class对象。(类加载器作用)
加载到内存中的类成为运行时类,运行时类是Class的一个实例。
类构造器(构造类信息的)方法是由编译期自动收集类中所有类变量的赋值动作和静态代码块中的语句合并产生的。
当初始化类是,父类还没初始化则先初始化父类。
类、接口、数组、枚举、注解、基本数据类型、void
2.获取运行时类的方式方式一:类名.class
方式二:类对象名.getClass( )
方式三:Class.forName("java.lang.String") //以String为例
clazz.newInstance( ):必须提供空参构造器,且权限为public
1.属性getFields( ):只有public的属性,包含运行时类及其父类的属性
getDeclaredFileds( ):所有权限的属性,但只有运行时类的
getMethods( ):只有public的方法,包含运行时类及其父类的方法
getDeclaredMethods( ):所有权限的方法,但只有运行时类的
getSuperclass( )
getInterface( )
getAnnotations( )
Type gSuperclass = clazz.getGenericSuperClass( ) //带泛型的父类
ParameterizedType paramType =()



