为什么要创建这个类文件?

tin*_*tin 3 java class javac

在Java中,所有类在第一次使用类时动态加载到JVM中.

这是否意味着如果我在我的源文件中有类并且我没有对它进行任何引用,那么它的Class对象不会被创建(即.class文件未被创建)?

在下面的示例代码中,iam没有引用test3类,但仍然创建了它的类对象.

class test1 {
    static {
        System.out.println("static block of test1");
    }
}   
class test2{
    static {
        System.out.println("static block of test2");
    }
}
class test3 {}
class MyExample1 {
    public static void main(String ...strings ) {
    new test1();
    new test2();
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么要test3.class创建文件?

Sta*_*lin 6

.class文件是在编译时创建的.但是,它将通过第一次使用(可能)从.class文件加载.

应该在没有.class文件的情况下从哪里加载?)