多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
### class class本身是一种数据类型(Type),class/interface的数据类型是Class,JVM为每个加载的class创建唯一的Class实例。 ![](http://blog.liufei1988.com/cbbb8ec847eb41577a28f0a25d49b262) JVM持有的每个Class实例都指向一个数据类型(class或interface) ![](http://blog.liufei1988.com/a9044d7896981b0bb6f36a8bcf06b25e) ***Class实例包含该class的所有信息***,通过Class实例获取class信息的方法称为**反射(Reflection)** ![](http://blog.liufei1988.com/1fcf7fa585faa6047eb989e674723223) 获取一个class的Class实例: * Class cls = String.class; * Class cls = "str".getClass(); * Class cls = Class.forName("java.lang.String"); 注意Class的==比较和`instanceof`的区别。 从Class实例获取class信息: * getName() * getSimpleName() * getPackage() 从Class实例判断class类型: * isInterface() * isEnum() * isArray() * isPrimitive() 创建class实例: cls.newInstance() JVM总是动态加载class,可以在运行期根据条件控制加载class。