Java 中的巢狀類


Java 中允許在一個類內編寫另一個類。內嵌的那個類被稱為巢狀類,而包含內嵌類的類被稱為外部類。巢狀類分為兩類:-

  • 非靜態巢狀類(內部類) - 這些是非靜態成員。

  • 靜態巢狀類 - 這些是類的靜態成員。

以下列出 Java 中的巢狀類型別:-

非靜態巢狀類(內部類)

內部類是 Java 中的安全機制。我們知道類不能與訪問修飾符“private”相關聯,但如果我們將類作為其他類的成員,那麼該內部類就可以被設為“private”。這也是用於訪問類的私有成員。

我們來看一個示例:-

示例

class Outer_Demo {
   int num;
   // inner class
   private class Inner_Demo {
      public void print() {
         System.out.println("This is an inner class");
      }
   }
   // Accessing he inner class from the method within
   void display_Inner() {
      Inner_Demo inner = new Inner_Demo();
      inner.print();
   }
}
public class My_class {
   public static void main(String args[]) {
      // Instantiating the outer class
      Outer_Demo outer = new Outer_Demo();
      // Accessing the display_Inner() method.
      outer.display_Inner();
   }
}

輸出

This is an inner class.

靜態巢狀類

靜態內部類是一個巢狀類,它是外部類的靜態成員。它可以在不例項化外部類的情況下使用其他靜態成員來訪問。就像靜態成員一樣,靜態巢狀類不能訪問外部類的例項變數和方法。

我們來看一個示例:-

示例

public class Outer {
   static class Nested_Demo {
      public void my_method() {
         System.out.println("This is my nested class");
      }
   }
   public static void main(String args[]) {
      Outer.Nested_Demo nested = new Outer.Nested_Demo();
      nested.my_method();
   }
}

輸出

This is my nested class

更新於:2019-09-20

1 千 + 次瀏覽

開啟你的 職業

完成課程,獲得認證

開始
廣告
© . All rights reserved.