Java 教程

Java 控制語句

面向物件程式設計

Java 內建類

Java 檔案處理

Java 錯誤和異常

Java 多執行緒

Java 同步

Java 網路程式設計

Java 集合

Java 介面

Java 資料結構

Java 集合演算法

高階 Java

Java 雜項

Java APIs 和框架

Java 類引用

Java 有用資源

Java 11 - 基於巢狀的訪問控制



Java 11 引入了一個巢狀類的概念,我們可以在一個類中宣告另一個類。這種類的巢狀允許將類邏輯地分組以在一個地方使用,使它們更易於閱讀和維護。巢狀類可以分為四種類型:

  • 靜態巢狀類

  • 非靜態巢狀類

  • 區域性類

  • 匿名類

Java 11 還提供了巢狀類的概念,以允許巢狀類的通訊和驗證。

考慮以下示例:

ApiTester.java

import java.util.Arrays;
import java.util.Set;
import java.util.stream.Collectors;

public class APITester {
   public static void main(String[] args) {		
      boolean isNestMate = APITester.class.isNestmateOf(APITester.Inner.class);
      boolean nestHost = APITester.Inner.class.getNestHost() == APITester.class;

      System.out.println(isNestMate);
      System.out.println(nestHost);

      Set<String> nestedMembers = Arrays.stream(APITester.Inner.class.getNestMembers())
         .map(Class::getName)
         .collect(Collectors.toSet());
      System.out.println(nestedMembers);
   }
   public class Inner{}
}

輸出

true
true
[APITester$Inner, APITester]
廣告
© . All rights reserved.