黑马程序员技术交流社区

标题: 在打印语句中如何打印这3个x变量? [打印本页]

作者: sk0806    时间: 2014-9-9 17:54
标题: 在打印语句中如何打印这3个x变量?
本帖最后由 付江涛 于 2014-9-9 18:13 编辑

在打印语句中如何打印这3个x变量?
  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( ? );
  11.         }
  12.     }
  13. }
复制代码




这道题,大家是怎么理解的?求回复解答......


作者: xplcc    时间: 2014-9-9 18:00
1.x会从局部变量想成员变量依次寻找,最先找到那个就打印那个
2.this.x当前类的成员变量
3.A.this.x表示A类的x
作者: 零点12    时间: 2014-9-9 18:18
  1. class  InnerTest
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 //创建内部类B的对象
  6.                 A.B ab = new A().new B();
  7.                 //调用内部类B的方法输出结果
  8.                 ab.func();
  9.                
  10.         }
  11. }
  12. class A {
  13.         int x = 1;
  14.         class B {
  15.                 int x = 2;
  16.                 void func() {
  17.                         int x = 3;
  18.                         System.out.println("内部类B的局部变量x="+x+"\n内部类B的成员变量x="+this.x+"\n外部类A的成员变量x="+A.this.x);
  19.         }
  20.     }
  21. }
复制代码

作者: 态度要诚恳    时间: 2014-9-9 18:34
x 局部变量  this.x 内部类成员变量  A.this.x外部类成员变量
作者: hike_2008    时间: 2014-9-9 19:00
前面已经有正确答案 了哇,多思考还是蛮好的
作者: sk0806    时间: 2014-9-9 19:59
xplcc 发表于 2014-9-9 18:00
1.x会从局部变量想成员变量依次寻找,最先找到那个就打印那个
2.this.x当前类的成员变量
3.A.this.x表示A类 ...

恩恩,谢谢!
作者: sk0806    时间: 2014-9-9 20:01
hike_2008 发表于 2014-9-9 19:00
前面已经有正确答案 了哇,多思考还是蛮好的

恩恩,谢谢
作者: sk0806    时间: 2014-9-9 20:03
零点12 发表于 2014-9-9 18:18

谢了,很详细
作者: 新手123    时间: 2014-9-9 20:06
x=3   this.x=2    A.this.x=1
作者: 小布袋    时间: 2014-9-12 19:16
由内向外找,方法中的x直接打印即可,B类中的x是this.x,A类中的x需要创建对象,通过对象来读取
作者: xiajie    时间: 2015-1-15 23:31
这是成员变量,局部变量,和外部类变量的区别
作者: 米家小九    时间: 2015-1-20 21:33
唉,学着后边的,忘着前边的
作者: wzb1991    时间: 2015-4-29 15:52
初学者表示涨姿势了啊,不是大神们指点真心搞不明白哈、、、、
作者: 你们敬爱的人    时间: 2015-5-27 16:54
NB.真真是涨见识了.
作者: twa42    时间: 2015-5-29 11:47
原来这样,又弄懂了一个问题止。。这论坛太好了:lol
作者: 巧克黑力    时间: 2015-8-6 23:02
这不是测试题中的吗  
作者: 暴走的牛奶    时间: 2015-8-11 00:45
零点12 发表于 2014-9-9 18:18

困死了,明天在验证
作者: wangdaban    时间: 2015-11-26 00:06
多谢解答疑惑




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2