1. 程式人生 > >內部類訪問許可權

內部類訪問許可權

內部類:一種隱藏和組織程式碼的模式

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){
    }
}