黑马程序员技术交流社区

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

作者: lf027    时间: 2015-5-5 22:00
标题: 局部内部类
本帖最后由 lf027 于 2015-5-5 22:07 编辑
  1. class Outer
  2. {
  3.         //private int num  = 10;

  4.         public void method()
  5.         {
  6.                 final int num = 10;
  7.                 //定义类
  8.                 class Inner
  9.                 {
  10.                         //int num = 10;
  11.                         public void show()
  12.                         {
  13.                                 //int num = 20;
  14.                                 System.out.println(num);
  15.                         }
  16.                 }

  17.                 //创建对象
  18.                 Inner i = new Inner();
  19.                 i.show();
  20.         }

  21.         public void function()
  22.         {
  23.                 //错误
  24.                 //Inner i = new Inner();
  25.                 //i.show();
  26.         }
  27. }

  28. class InnerTest3
  29. {
  30.         public static void main(String[] args)
  31.         {
  32.                 Outer o = new Outer();
  33.                 o.method();
  34.         }
  35. }
复制代码
对这个代码的理解,最开始以为
        //创建对象
        Inner i = new Inner();
        i.show();
是局部变量变量,就把这个代码放局部的位置,结果编译报错,才知道程序都没读取这个类,创建这个类跟就不可能New对象,让外部类来访问。感觉这样理解也不是很好,希望有大神能帮忙指点一二,多谢了






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