A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 沐小北 中级黑马   /  2014-7-10 12:47  /  3800 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文



package com.itheima;

import com.itheima.A.B;

public class Test8 {
        /**第五题
         *  在打印语句中如何打印这3个x变量?

                class A {
                    int x = 1;

                    class B {
                        int x = 2;

                        void func() {
                            int x = 3;
                            System.out.println( ? );
                        }
                    }
                }
         * @param args
         */
        public static void main(String[] args) {
                new B().func();
        }
}


class A {
    int x = 1;
    static class B {
        int x = 2;
        void func() {
            int x = 3;
            System.out.print("A.X = " + new A().x + ";  B.X = " + new B().x + ";  X

= " + x);
        }
    }
}

8 个回复

倒序浏览
你的B是哪里调用的?
回复 使用道具 举报
戒风 来自手机 中级黑马 2014-7-17 17:51:17
藤椅
没看懂,我还没看到这里……表示进41有压力了
回复 使用道具 举报
先要有A集合才能有B集合。所以主函数应该是  A  a = new A();
回复 使用道具 举报 0 1
先要有A集合才能有B集合。所以主函数应该是  
A  a = new A();
A.B ab = a.new b();
然后才能调用B中的函数;
ab.func();

怎么调用X就要用到 this 等这个关键字了,自己想一下应该能想的,同学

点评

LYP
写错了,是类,而不是集合  发表于 2014-7-17 18:24
回复 使用道具 举报
LYP 发表于 2014-7-17 18:22
先要有A集合才能有B集合。所以主函数应该是  
A  a = new A();
A.B ab = a.new b();

謝謝,已解惑。
回复 使用道具 举报
王石 中级黑马 2014-7-28 22:55:08
7#
B是在那掉哟个的func
回复 使用道具 举报
学习了                  
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马