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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

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

30 个回复

正序浏览
帆风顺 发表于 2015-4-11 23:53
这个不是 那个就业班的测试题 ?

是吗?看来你是已经做过了
回复 使用道具 举报
我来也 发表于 2015-4-12 00:45
你的 输出语句错了System.out.println();

恩恩,失误
回复 使用道具 举报

声明了一个内部类的对象以后,那你不就是可以用一个关键字“this”
回复 使用道具 举报
yearn 发表于 2015-4-11 20:12
创建内部类对象调用func()函数就可以打印了。格式是:A.B b = new A().new B();
                        ...

应该行吧
回复 使用道具 举报
wkz_crystal 发表于 2015-4-11 20:00
这个题目自己想办法解决吧?这是测试题目……不难的!不敢公布答案!因为泄题会扣分的!加油! ...

恩,加油
回复 使用道具 举报
奔放的龙小胖 发表于 2015-4-11 22:04
你这不就是标准的内部类么?
声明一个内部类对象 外类名.内类名.变量名=new 外类名().内类名();
然 ...

应该差不多吧
回复 使用道具 举报
优质码农 发表于 2015-4-11 21:09
正确答案:System.out.rintln(x+this.x+A.this.x);

你的 输出语句错了System.out.println();
回复 使用道具 举报

确实,是内部类
回复 使用道具 举报
回复 使用道具 举报
这个不是 那个就业班的测试题 ?
回复 使用道具 举报
One_M 中级黑马 2015-4-11 23:53:20
20#
内部类~!~!
回复 使用道具 举报
  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. }
复制代码
回复 使用道具 举报
发帖+10,评论+1,被评论+1,回复+5,登录+1 ,签到
回复 使用道具 举报
又长见识了
回复 使用道具 举报
一个标准内部类
回复 使用道具 举报
路过,学习
回复 使用道具 举报
你这不就是标准的内部类么?
声明一个内部类对象 外类名.内类名.变量名=new 外类名().内类名();
然后再调用func方法。
可行否
回复 使用道具 举报
来看看了!
回复 使用道具 举报
可以定义B继承A ,打印 x ,this.x, super.x
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马