首页 > 解决方案 > 如何递归加载java类及其引用类

问题描述

Image 类图是这样的:

class A {
  B b;
}

class B {
  C c;
}

class C {
}

我想在调用A、B或C之前在启动时加载A、B和C类,但是当我尝试class.forName("A")JVM只加载A类时,如何递归地从A加载所有类到C?

标签: javaclassreflectionjvm

解决方案


如果要在 A 类中加载 B 类,在 B 中加载 C 类,则需要定义构造函数来新建一个实例

class A {
 B b;
  public A() { b = new B()}
}

class B {
  C c;
  public B() {c = new C()}
}

class C {
}

然后,当您新建 A 时,它将创建实例类 B,C 并访问它喜欢

A a = new A();
a.b.c;

推荐阅读