用来加载经过javac编译成的.class文件。jvm虚拟机当中的类加载器负责加载这些编译好的类字节文件,先通过一系列的处理,而后缓存到咱们的JVM虚拟机中。供程序随时使用。java
class 声明类型缓存
Class 描述java类的组成成分(名字、属性、路径、父类、构造方法、普通方法)框架
Class 实例化的方式? 加载到虚拟的这个模板字节 创造一个实际的对象出来
大写的Class是描述咱们的java类jvm
String s = "获取Class对象"; //1实例化对象.getClass() Class clazz1 = s.getClass(); //2 类.class Class clazz2 = String.class; //3各类框架经常使用 Class.forName(); Class clazz3 =Class.forName("java.lang.String"); System.out.println(clazz1 == clazz2);//true System.out.println(clazz1 == clazz3);//true System.out.println(Integer.class == int.class);//false System.out.println(Integer.TYPE == int.class);//true //八大简单基本类型 void 是咱们的九大预约义 Class clazz4 = int.class; System.out.println(clazz3.isPrimitive()); //false String 也是一个封装类 System.out.println(clazz4.isPrimitive()); //true int是预约义的 //获取String传入StringBuffer构造方法 Constructor constructor = clazz3.getConstructor(StringBuffer.class); //使用构造方法 实例化一个String对象 String ss = (String)constructor.newInstance(new StringBuffer("aaaa")); System.out.println(ss);
反射就是将一个类的组成部分映射成相应的java对象 字节模板 他的每部分的字节模板code