提问人:acidic231 提问时间:5/23/2023 更新时间:5/23/2023 访问量:37
Java 内部/匿名类
Java inner/anon classes
问:
我被困在这个问题上,我们需要通过 A 实例化 C 类
class A{
static class B{}
static class C{ B b;
C(B b){this.b=b;}
int foo(){return 42;}
}
}
public class Exercise{
public static void main(String [] arg){
assert ([???].foo()==42);
}
}
显然,我们需要在 A 类中实例化 C 类,但是我尝试这样做
类似的东西和其他一些变化,但我似乎想不通,有人有什么建议吗?A.C(new B b)
答:
2赞
Reilas
5/23/2023
#1
您需要一个 的实例来实例化B
C
A.B b = new A.B();
A.C c = new A.C(b);
assert c.foo() == 42;
或者,简化。
assert new A.C(new A.B()).foo() == 42;
如果类不包含构造函数,则推断为空构造函数。
评论