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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 何堂红 中级黑马   /  2014-6-7 01:14  /  1848 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 何堂红 于 2014-6-7 20:16 编辑

在打印语句中如何打印这3个x变量?
  1. class A {
  2.                         int x = 1;

  3.                         class B {
  4.                                 int x = 2;

  5.                                 void func() {
  6.                                         int x = 3;
  7.                                         System.out.println(?);
  8.                                 }
  9.                         }
  10.                 }
复制代码

13 个回复

倒序浏览
本帖最后由 yogaa 于 2014-6-7 03:24 编辑

System.out.println(new A().x+","new B().x+","+x);这样应该可以吧~或者内部类访问外部类的成员变量可以用this来解决
System.out.println(A.this.x+","this.x+","+x);
我估计这要是道考题的话,应该考得知识点是这个吧~
回复 使用道具 举报 0 2
System.out.println(A.this.x+this.x+x)
回复 使用道具 举报 1 0
System.out.println("A.this.x=" + A.this.x + " this.x = " + this.x + " x = " + x);
回复 使用道具 举报 1 0
这个是内部类,需要建立内部类的对象打印内部类里面的内容
回复 使用道具 举报 1 0
System.out.println(A.x+".."+this.x+"..."+x);
回复 使用道具 举报
打印1:
System.out.println(A.this.x);
打印2:
System.out.println(this.x);
打印3:
System.out.println(x);
回复 使用道具 举报
学了 都快忘记了  学习一下
回复 使用道具 举报
前面都说了, 路过看看。。。。。。。。。。。。
回复 使用道具 举报
yogaa 发表于 2014-6-7 02:15
System.out.println(new A().x+","new B().x+","+x);这样应该可以吧~或者内部类访问外部类的成员变量可以用 ...

嗯,我都忘记了,谢谢了
回复 使用道具 举报
so easy   so easy
回复 使用道具 举报
我也是怎么想的。
回复 使用道具 举报
System.out.println(x+""+this.x+new A().x);时刻记着内部类访问外部类可以直接访问,而外部类要访问内部类需要对象.
回复 使用道具 举报
使用继承,多态,和this关键字
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马