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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 于连林 中级黑马   /  2012-10-23 13:13  /  1068 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

2、局部内部类
在方法中定义的内部类是局部内部类,它只能访问方法中的final类型的局部变量,因为用final定义的局部变量相当于是一个常量,延长了其生命周期,使得方法在消亡时,其内部类仍可以访问该变量。另外,它同样也可以引用定义在外部类的变量和方法。而且方法体中的局部内部类不允许有访问修饰符。

class Outer
{
        int num=10;
        public void print(final int aArgs)
        {
             class Inner
             {
                 int num=20;
                 public Inner()
                 {
                     System.out.println("This is Inner.");//此句可看出它与匿名内部类用法的不同。
                 }

                 public void print()
                 {     
                     int num=30;
                     System.out.println(this); // the object created from the local Inner
                     System.out.println(num);
                     System.out.println(this.num);
                     System.out.println(Outer.this.num);
                     System.out.println(aArgs);
                 }
             }
             Inner inner=new Inner();//此句必须放在定义类Inner的后面
             inner.print();
        }

        public static void main(String[] args)
        {
             Outer outer=new Outer();
             outer.print(40);
        }
}

评分

参与人数 1技术分 +1 收起 理由
韩军博 + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马