内部类访问权限

内部类:一种隐藏和组织代码的模式

1、普通内部类拥有其外围类的所有元素的访问权,没有任何限制
2、静态内部类只能访问外部类的静态成员变量
class Outer
{
    static int x;
    static class Inner
    {
        void test()
        {
            syso(x);
        }
    }
}

3、定义在方法和作用域内的内部类,可以访问方法和作用域外的变量,作用域内的变量必须是final类型的,因为生命周期不同。 外部不能访问该内部类
class Outer {
    private int a;
    
    public void test(final int b){
        class Inner{
            public void A(){
                int A = a;
            }
            public void B(){
                int B = b;
            }
        }
    }
}

4.匿名内部类即是3的一种,访问限制同3,如下,类似setOnClickListener(new OnClickListener(){ XXX}),
public class A{
    public B create(){
        return new B(x){
            public in value(){
                return 1;            
            }        
        }    
    }

    public static void main(String[] a){
    }
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值