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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 马州州 于 2012-7-20 23:41 编辑
  1. class Outer
  2. {
  3. private int x = 3;
  4. class Inner
  5. {
  6. int x = 4;
  7. void function()
  8. {
  9. int x = 6;
  10. System.out.println("inner:"+Outer.this.x);
  11. }
  12. }
  13. void method()
  14. {
  15. Inner in = new Inner();
  16. in.function();
  17. }
  18. }



  19. class InnerClassDemo
  20. {
  21. public static void main(String[] args)
  22. {
  23. //直接访问内部类中的成员
  24. Outer.Inner in = new Outer().new Inner();
  25. in.function();

  26. }
  27. }
复制代码
运行结果如图
我看不出来代码哪里错了
帮我看下吧

10 个回复

倒序浏览
陶锋 发表于 2012-7-20 23:31
楼主,你的内部类分家了。本来是InnerClassDemo,你硬要弄个空格把它们活生生拆散。 ...

没有明白你什么意思啊,能说的明白点么?
回复 使用道具 举报
你在doc命令行打的是 java Inner ClassDemo   中间多了个空格
回复 使用道具 举报
这。。。。把注意力全放在代码上了,没注意doc命令上打错了,纠结了这么久,囧啊~~~
回复 使用道具 举报
这么写:
package testSomething;
class Outer

{

private int x = 3;

class Inner

{

int x = 4;

void function()

{

int x = 6;

System.out.println("inner:"+Outer.this.x);

}

}

void method()

{

Inner in = new Inner();

in.function();

}
public static void main(String[] args)
{

//直接访问内部类中的成员

Outer.Inner in = new Outer().new Inner();

in.function();


}

}




class InnerClassDemo

{



}
main函数放错地方了
回复 使用道具 举报
黑马高明辉 发表于 2012-7-20 23:45
这么写:
package testSomething;
class Outer

我的代码木有错。。。。。。是我在dos运行的时候打错类名了。。。。
回复 使用道具 举报
马州州 发表于 2012-7-20 23:48
我的代码木有错。。。。。。是我在dos运行的时候打错类名了。。。。

恩,对,我想错了……
回复 使用道具 举报
第一眼看到那错误,还以为是classpath配置的问题,二楼真是火眼真睛啊~~呵呵
回复 使用道具 举报
复制楼主代码后,第三行的 ; 是中文的
改正后的运行结果是:
inner:3
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马