Penseur de marche 2020-05-31 20:49 采纳率: 50%
浏览 63
已采纳

请问这道题怎么思考呢?

1. 定义一个类A,它有一个内部类B. 
2. 定义B的方法g,它访问A的数据成员。
3. 定义A的方法f,它访问B的数据成员,注意必须指明那个内部类对象的数据成员。 
4. 确保类A有方法修改A的域。 
5. 确保类B有方法print,输出A的域。
6. 定义类C,它只有一个main方法。在main方法体内创建A类对象a。a作为外围对象创建B类对象b; 
7. 验证:每个内部类对象,都有一个相关联的外部类对象,就是创建它的外部类对象。
方法:首先对象b调用print,打印a的域,然后修改a的域,最后b再次调用print,打印a的域,打印结果应该与对a的修改一致,从而说明b与a相关联。
拜托各位了,麻烦各位了,谢谢!

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-05-31 22:15
    关注

    你这里的"域"应该是英文的field,不过一般来说叫做“字段”,应该是翻译的问题。

    你的问题的参考代码

    class C
    {
        public static void main(String[] args)
        {
            A a = new A();
            A.B b = a.new B();
            a.f(b);
            b.print();
            a.setValue(789);
            b.print();
        }
    }
    
    class A
    {
        private int value = 123;
        class B
        {
            public int value1 = 456;
            public void g()
            {
                System.out.println(A.this.value);
            }
            public void print() { g(); }
        }
        public void f(A.B b)
        {
            System.out.println(b.value1);
        }
        public void setValue(int val) { value = val; }
    }
    

    456
    123
    789

    问题解决的话,请点下采纳

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示