Java局部内部类详见

说明

java局部类是定义在外部类的局部位置,一般在方法中,有类名

1、局部内部类可以访问外部类的所有成员包括私有的。

2、不能添加访问修饰符,因为局部内部类就相当于一个局部变量(局部属性),但可以加final表示不可继承。

3、作用域:仅在定义它的方法或代码块中。

4、访问属性遵循就近原则 想访问外部类的同名属性可以加Outer01.this。 可以理解Outer01.this为这就是一个对象,谁调用了定义了局部内部类的方法,那么这个Outer01.this就是谁。

class Outer01 {//外部类
    private int n1 = 10;
    public void m2() {//外部类的方法
        System.out.println("m2()被执行...");
    }
    public void m1() {//外部类的方法
        m2();
        int n1 =20;
        final class Inner01 {//位于方法中的内部类,关键字final表示该类不能被继承            
            public void f1() {
                System.out.println("n1 = " + n1);//访问属性遵循就近原则,即输出20
                //想访问外部类的同名属性可以加Outer01.this 可以理解为这就是一个对象
                System.out.println("Outer01 的n1 = " + Outer01.this.n1);//Outer01.this 外部类的对象
                m2();//局部内部类可以访问外部类的所有成员包括私有的。
            }
        }

        Inner01 inner01 = new Inner01();
        inner01.f1();
    }

}

附:改篇文章仅用于记录所学知识,如有误导敬请海涵!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值