扫码一下
查看教程更方便
Java 11 引入了嵌套类的概念,我们可以在类中声明一个类。 类的这种嵌套允许对要在一个地方使用的类进行逻辑分组,从而使它们更具可读性和可维护性。 嵌套类可以有四种类型
Java 11 还提供了 nestmate 的概念,以允许嵌套类的通信和验证。
考虑下面的示例
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]