黑马程序员技术交流社区

标题: 内部类和外部类的问题 [打印本页]

作者: mmakun    时间: 2015-5-28 23:21
标题: 内部类和外部类的问题
有如下一段代码:
  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(""+A.this.x+ A.B.this.x+x);
  8.                         }
  9.                     }
  10.                 }
复制代码

那么,想要在一个其它类中调用func()方法,该如何写呢?
作者: 马也keyboard    时间: 2015-5-29 16:49
可以用new A().new B().func();调用
作者: 微凉的暮色    时间: 2015-5-29 20:00
:lol
你都把x 输出了 怎么可能不会掉用fun
作者: zhousuo28    时间: 2015-5-29 20:49
可以 A.B.变量名 =new A().new B().func();
作者: mmakun    时间: 2015-5-29 21:02
微凉的暮色 发表于 2015-5-29 20:00
你都把x 输出了 怎么可能不会掉用fun

问题这不是创建类对象调用的啊
作者: 微凉的暮色    时间: 2015-5-29 21:10
mmakun 发表于 2015-5-29 21:02
问题这不是创建类对象调用的啊

内部类 也是类,只不过不能创建对象,不过创建新类还是可以,你就放心 的new 就好
作者: mmakun    时间: 2015-5-29 21:11
马也keyboard 发表于 2015-5-29 16:49
可以用new A().new B().func();调用

问题解决了,多谢!!!
作者: hejin67410    时间: 2015-9-22 22:12
谢谢分享
作者: hnxtzouyuxi    时间: 2015-9-22 23:55
看你调用几次如果只有一次可以用匿名内部类new A().new B().func(),如果就创建内部类对象 A.B c=new A().new B();c.func();即可
作者: 舒玉琛    时间: 2015-9-23 00:48
神逻辑,威武




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