java - 为什么要创建此类文件?

标签 java class javac

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

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

在下面的示例代码中,我没有引用 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();
    }
}

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

最佳答案

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

没有 .class 文件应该从哪里加载?)

关于java - 为什么要创建此类文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5216820/

相关文章:

C++ 二进制作用域解析运算符和类

JavaC CreateProcess error=206,文件名或扩展名太长

java - 从同一个循环中延迟调用不同的方法

java - 隐藏一个类对其他类的可见性

c++ - 构造函数将运行但不能从其他文件运行

java - 在java中导入类文件

java - java注解中的私有(private)字段

java.lang.RuntimeException : Method code too large

Java Swing 空指针异常

java - java中打印时 'long'类型的数字改变了它的值