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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© mmakun 中级黑马   /  2015-5-28 23:21  /  613 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

有如下一段代码:
  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()方法,该如何写呢?

9 个回复

倒序浏览
可以用new A().new B().func();调用
回复 使用道具 举报
:lol
你都把x 输出了 怎么可能不会掉用fun
回复 使用道具 举报
可以 A.B.变量名 =new A().new B().func();
回复 使用道具 举报
微凉的暮色 发表于 2015-5-29 20:00
你都把x 输出了 怎么可能不会掉用fun

问题这不是创建类对象调用的啊
回复 使用道具 举报
mmakun 发表于 2015-5-29 21:02
问题这不是创建类对象调用的啊

内部类 也是类,只不过不能创建对象,不过创建新类还是可以,你就放心 的new 就好
回复 使用道具 举报
mmakun 中级黑马 2015-5-29 21:11:18
7#
马也keyboard 发表于 2015-5-29 16:49
可以用new A().new B().func();调用

问题解决了,多谢!!!
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
看你调用几次如果只有一次可以用匿名内部类new A().new B().func(),如果就创建内部类对象 A.B c=new A().new B();c.func();即可
回复 使用道具 举报
神逻辑,威武
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马