具有与 Class 本身相同类型的 class 变量

a class variable having the same type of Class itself

今天我在工作地点看到一个class类似的:

public class A {
    private Map<String, A> myMap = Maps.newHashMap();
}

代码可以编译、运行并执行它应该执行的操作。但它可以重构为不同的设计。但是我不明白为什么选择这个设计。

你可以做这样的傻事:

this.myMap.get("x").myMap.get("x").myMap.get("x");

我的问题:

真的有什么好的情况需要应用这样的设计吗?为什么?

一棵树立即浮现在脑海中:一个节点包含一个节点列表。

一个人有children,也是人,谁也可以有children