You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java问题求助:如何通过类A实例化其静态内部类C?

问题解决:实例化Java静态内部类C

首先明确:静态内部类不属于外部类的实例,外部访问时必须通过外部类名.静态内部类名的方式引用,不能直接使用内部类名。

你的写法存在两个语法错误:

  • 实例化B时,不能直接写new B(),B是A的静态内部类,外部必须用A.B限定;
  • 实例化对象时不需要写参数名,new B b是错误语法,正确实例化B的写法是new A.B()。

正确代码替换方案

将[???]替换为new A.C(new A.B()),完整main方法如下:

public static void main(String [] arg){
    assert (new A.C(new A.B()).foo()==42);
}

简化写法(可选)

如果觉得重复写A.麻烦,可以在类顶部导入静态内部类:

import static A.B;
import static A.C;

此时main方法可简化为:

public static void main(String [] arg){
    assert (new C(new B()).foo()==42);
}

内容的提问来源于stack exchange,提问作者acidic231

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 09:07:04