黑马程序员技术交流社区

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

作者: 張帅    时间: 2013-9-29 11:24
标题: 内部类外部类问题
本帖最后由 張帅 于 2013-9-29 20:04 编辑

class Demo
{  
          public void function()
          {
                  //位置1;
          }
        class Inner{}
      public static void main(String[] args)
   {
                  Demo d = new Demo();
                //位置2;
   }
}

我再位置1的地方 new Inner();编译可以通过,但是在主函数的位置2出new Inner();就不行,同new Demo.Inner();也是,为什么,假如想在位置2处用上边两种语句格式应该怎样写?


作者: 张慧    时间: 2013-9-29 12:40
new Inner():编译器会提示Demo的内部类不能这么访问,并且把访问的格式告诉了你。
new Demo.Inner():如果你吧Inner改为静态的,就可以这么写了,类名.内容,不就是调用类成员参数活方法吗。
可以这么写:new Demo().new Inner();通过外部类的实例去new 内部类




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