1、枚举
2、反射
创建Class对象的方式
1.运行时类型的属性
2.类对象的getClass 方法
3.Class的静态方法for Name
4.通过类加载器
Class本身对应一个类
Class只能由系统建立实例
一个类在JVM中只有一个实例(在方法区存储类的信息)
3、类的加载过程
1.类的加载(类加载器Class Loader)
2.链接(将类的二进制数据合并到JVM中)
3.初始化(虚拟机负责对类进行初始化)
4、加载器
启动类(根)加载器:BootstrapClassLoader
拓展类加载器:PlatformClassLoader
应用程序加载器:AppClassLoader
用户自定义类加载器:CustomClassLoader
双亲委派机制
5、动态代理模式
使用一个代理对象包装