在加载某个 class 之前阻止 class 加载

Prevent a class from loading until a certain class is loaded

标题说明了一切。我正在处理另一个项目(又名使用 Forge),我想搁置某个 class(class 编号 1)- 直到另一个 class 才加载它(class 第 2 条) 已加载。那么在那个class(class no.2)加载完之后,第一个class(class no.1)应该可以正常加载了。

您可以在 Class2 加载时加载您的 Class1

Class1 {
    public static void loadMe() {}
}
class2 {

    public Class2() {
        // Calling a dummy static member for loading the class
        Class1.loadMe();
    }
}

优点是两者默认会被同一个ClassLoader加载。或者,您可以,

Class.forName("Class1");

在这两种情况下,整个应用程序中的任何人都不应尝试访问此 class 的任何静态成员,否则它将被加载。