公共构造函数,无法创建实例

Pet*_*der 1 java inner-classes instances

有这个代码:

public final class A {
    public final class B {
    }
    public A(B b) {
    }
}
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 如果没有实例,则无法创建A实例B.
  2. 如果没有实例,则无法创建B实例A.

在不改变代码和没有反射的情况下,如何创建实例A

MC *_*ror 9

你可以使用null:

new A(null);
Run Code Online (Sandbox Code Playgroud)

拥有A对象后,您也可以创建一个B对象:

A a = new A(null);
B b = a.new B();
Run Code Online (Sandbox Code Playgroud)