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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

在打印语句中如何打印这3个x变量?

class A {
int x = 1;
class B {
int x = 2;
void func() {
int x = 3;
System.out.println( ? );
        }
    }
}

30 个回复

倒序浏览
new A().x  new A.B().x   x
回复 使用道具 举报
这个题目自己想办法解决吧?这是测试题目……不难的!不敢公布答案!因为泄题会扣分的!加油!
回复 使用道具 举报
sisel 发表于 2015-4-11 19:49
new A().x  new A.B().x   x

打印的x的值是多少啊
回复 使用道具 举报
发帖+10,评论+1,被评论+1,回复+5,登录+1 ,签到
回复 使用道具 举报
创建内部类对象调用func()函数就可以打印了。格式是:A.B b = new A().new B();
                                                                                            b.func();

点评

好的  发表于 2015-4-12 00:50
回复 使用道具 举报
打印的是局部变量,3,你若是在函数外写打印语句,则输出2,A类中是另外一个变量,B类没关系
回复 使用道具 举报
顶一个吧先
回复 使用道具 举报
showdy 中级黑马 2015-4-11 21:03:41
9#
本帖最后由 showdy 于 2015-4-11 23:19 编辑

内部类啊,看看
回复 使用道具 举报
正确答案:System.out.rintln(x+this.x+A.this.x);
回复 使用道具 举报
这要用到  嵌套内部类。。。毕老师有讲过,楼上有人说 泄题问题:所以 就建议你看看  视频吧
回复 使用道具 举报
可以定义B继承A ,打印 x ,this.x, super.x
回复 使用道具 举报
来看看了!
回复 使用道具 举报
你这不就是标准的内部类么?
声明一个内部类对象 外类名.内类名.变量名=new 外类名().内类名();
然后再调用func方法。
可行否
回复 使用道具 举报
路过,学习
回复 使用道具 举报
一个标准内部类
回复 使用道具 举报
又长见识了
回复 使用道具 举报
发帖+10,评论+1,被评论+1,回复+5,登录+1 ,签到
回复 使用道具 举报
  1. class A
  2. {
  3.         int x = 1;
  4.         class B
  5.                 {
  6.                         int x = 2;
  7.                         void func()
  8.                         {
  9.                                 int x = 3;
  10.                                 System.out.println(x+"...."+this.x+">>>>>"+A.this.x );
  11.         }
  12.     }
  13. }
  14. class AnonymousTest12
  15. {       
  16.         public static void main(String[] args)
  17.         {
  18.                 A.B ab= new A().new B();
  19.                 ab.func();
  20.         }
  21. }
复制代码
回复 使用道具 举报
One_M 中级黑马 2015-4-11 23:53:20
20#
内部类~!~!
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马