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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lidinghai 中级黑马   /  2014-12-9 17:37  /  1050 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 lidinghai 于 2014-12-9 17:37 编辑


class Outer{       private static String info="hello world";
       static class  Inner{
           public void print(){
                      System.out.println(info);
          }
   }
}
         public class Demo{
                     public static void mian(String args[]){
                new Outer.Inner().print();//这句是什么意思,实在看不懂。。
              }
        }


5 个回复

倒序浏览
本帖最后由 曛丨黯淡浮华 于 2014-12-9 18:27 编辑

一般外部类想调用内部类,格式是: 外部类.内部类  名称 = new 外部类().new 内部类();
然而内部类是静态类,静态内部类new的时候不需要外部类的实例的。

不需要外部类的实例 , 就会简化成: new Outer.Inter()   .  外部类只需要写外部类名称即可,无需new 一个实例。
你可以看看这篇文章 http://blog.csdn.net/vange/article/details/5407625




评分

参与人数 1技术分 +1 收起 理由
船长 + 1 赞一个!

查看全部评分

回复 使用道具 举报
很收益 很好
回复 使用道具 举报
:)好东西
回复 使用道具 举报
原来是这样
回复 使用道具 举报
New Outer.Inner().print()其实就是内部类对象调用print方法。
过程等于  
Outer.Inner x = new Outer().new Inner();
x.print();
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马