public final class Classimplements java.io.Serializable, GenericDeclaration, Type, AnnotatedElement { private static final int ANNOTATION= 0x00002000; private static final int ENUM = 0x00004000; private static final int SYNTHETIC = 0x00001000; private static native void registerNatives(); static { registerNatives(); } private Class(ClassLoader loader) { // Initialize final field for classLoader. The initialization value of non-null // prevents future JIT optimizations from assuming this final field is null. classLoader = loader; }
由Class源码可见,其构造方法为私有方法,因此不可显示new出Class类,只能通过JVM调用生成
2、JVM生成Class对象
由图可知,每一个.java文件经过编译后会生成一个.class文件,该文件保存的就是HelloWorld的Class对象,经过JVM加载后便在内存中生成了一个HelloWorld的Class对象



