回覆列表
  • 1 # 使用者3926722064098

    1 靜態內部類中為什麼還能有非靜態方法?被static修飾的類(內部類)怎麼還能new 物件?

    類是不是靜態的和類中的方法是不是靜態的沒有絕對聯絡,類是靜態的你可以這樣用Outer.Inner,就好像使用Outer類的靜態成員的方式一樣

    2 Out.Inner in = Outer.Inner in = new Outer.Inner();

    你可以把Outer.Inne看作一個整體,就像C++的名稱空間一樣,現在要建立的是內部類的物件,它並不需要外部類的物件來建立,你可以把它們想象成兩個完全不同的類,其中一個在另一個內部而已。

    Out.Inner in = new Outer().new Inner();

    這麼寫new Outer()是一個物件,物件.new是什麼意思呢?

    3訪問一個類中的方法應該這樣 new 類().function(); 而題目中的new outer.inner().function();根本就沒有外部類例項

    new outer.inner()已經建立了一個內部類的物件,然後呼叫內部類物件的function(),呼叫內部類的function(),並不需要外部類的物件

  • 2 # 使用者3926722064098

    1 靜態內部類中為什麼還能有非靜態方法?被static修飾的類(內部類)怎麼還能new 物件?

    類是不是靜態的和類中的方法是不是靜態的沒有絕對聯絡,類是靜態的你可以這樣用Outer.Inner,就好像使用Outer類的靜態成員的方式一樣

    2 Out.Inner in = Outer.Inner in = new Outer.Inner();

    你可以把Outer.Inne看作一個整體,就像C++的名稱空間一樣,現在要建立的是內部類的物件,它並不需要外部類的物件來建立,你可以把它們想象成兩個完全不同的類,其中一個在另一個內部而已。

    Out.Inner in = new Outer().new Inner();

    這麼寫new Outer()是一個物件,物件.new是什麼意思呢?

    3訪問一個類中的方法應該這樣 new 類().function(); 而題目中的new outer.inner().function();根本就沒有外部類例項

    new outer.inner()已經建立了一個內部類的物件,然後呼叫內部類物件的function(),呼叫內部類的function(),並不需要外部類的物件

  • 中秋節和大豐收的關聯?
  • 強制CPU渲染是什麼意思?具體有什麼作用?