《java編程思想》學習筆記——內部類三

10.3使用.this與.newjava

一、若是你須要生成對外部類對象的引用,能夠使用外部類的名字後面緊跟圓點和this。this

public class DotThis
{
    void f()
    {
        System.out.print("DotThis.f()");
    }
    public class Inner
    {
        public DotThis outer()
        {
            return DotThis.this;
        }
    }
    public Inner inner()
    {
        return new Inner();
    }

    public static void main(String[] args)
    {
        DotThis dt = new DotThis();
        DotThis.Inner dti = dt.inner();
        dti.outer().f();
    }
}

二、有時你可能想要告知某些對象,去建立其某個內部類的對象。要實現此目的,你必須在new表達式中提供對其餘外部類對象的引用,這是須要使用.new語法。code

public class DotNew
{
    public class Inner {}
    public static void main(String[] args)
    {
        DotNew dn = new DotNew();
        DotNew.Inner dni = dn.new Inner();
    }
}

(1)要直接建立內部類的對象,不能直接引用外部類的名字DotNew,而是必須使用外部類的對象來建立內部類對象。對象

(2)在擁有外部類對象以前是不可能建立內部類對象的。class

(3)若是 建立的是嵌套類(靜態內部類),那麼它就不須要對外部類對象的引用。語法

相關文章
相關標籤/搜索