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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王春祥 中级黑马   /  2012-3-25 17:53  /  1621 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

外部类Outer 内部类Inner 内部类方法function(),那么Outer.Inner in=new Outer().new Inner();in.function();是同时建立了外部类和内部类对象吗

2 个回复

倒序浏览
      当内部类定义在外部类的成员位置上,而且非私有,在其它外部类中
可以通过:外部类名.内部类名 变量名=外部类对象.内部类对象;这种格
式直接建立该内部类的对象。
回复 使用道具 举报
   这个我也向问的  后来给忘了  多谢楼主提问  呵呵
    我是这么分析的    内部类是在外部类的成员位置上的   咱假设这个  内部类 只是一个普通的非静态方法   那么调用它就必须创建外部类对象调用
     而换成内部类的话  我认为原理是一样的  只不过内部类中的东西如果要被调用的话  还必须再创建它的对象才能调用  而成员方法是直接用外部类的引用调用
  所以 我觉得 外部类必须是得创建对象  再创建内部类的对象   毕竟内部类是属于外部类中的成员一份子的  
   所以当外部其他类要调用内部类的方法时  就得创建外部类对象和 内部类对象  来调用内部类中的方法      只不过把两个创建对象和在了一起创建而已  我感觉是这样的

评分

参与人数 1黑马币 +3 收起 理由
房宝彬 + 3 你懂的。

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马