如何在 Java 中例項化成員內部類?\n


在類內部但方法外部宣告的類稱為**成員內部類**。

我們可以透過兩種方式例項化成員內部類

  • 在類內部呼叫
  • 在類外部呼叫

內部類的規則

  • 外部類(包含內部類的類)可以在其程式碼內部例項化任意數量的內部類物件。
  • 如果內部類是公共的並且包含類也是公共的,那麼其他不相關的類中的程式碼也可以建立內部類的例項。
  • 沒有內部類物件會自動與外部類物件一起例項化。
  • 如果內部類是靜態的,則可以在沒有外部類例項的情況下例項化靜態內部類。否則,內部類物件必須與外部類的例項相關聯。
  • 外部類甚至可以呼叫內部類的私有方法。

在類內部呼叫的成員內部類

在下面的示例中,我們從 OuterClass 的 display() 方法呼叫成員內部類的方法。

示例

線上演示

public class OuterClass {
   private int value = 20;
      class InnerClass {
         void show() {
            System.out.println("Value is: " + value);
      }
   }
   void display() {
      InnerClass ic = new InnerClass();
      ic.show();
   }
   public static void main(String args[]){
      OuterClass oc = new OuterClass();
      oc.display();
   }
}
Value is: 20


在類外部呼叫的成員內部類

在下面的示例中,我們從 OuterClass 外部(即 Test 類)呼叫 InnerClass 的 show() 方法。

示例

線上演示

class OuterClass {
   private int value = 20;
      class InnerClass {
         void show() {
            System.out.println("Value is: "+ value);
      }
   }
}
public class Test {
   public static void main(String args[]) {
      OuterClass obj = new OuterClass();
      OuterClass.InnerClass in = obj.new InnerClass();
      in.show();
   }
}

輸出

Value is: 20

更新於: 2020年2月11日

1K+ 瀏覽量

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.