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

Class 具有相同类型类本身的类变量,class,oop,object,design-patterns,Class,Oop,Object,Design Patterns,今天我在我的工作场所看到了类似的课程: public class A { private Map<String, A> myMap = Maps.newHashMap(); } 公共A类{ 私有映射myMap=Maps.newHashMap(); } 这段代码编译、工作并执行它应该执行的操作。但它可以重构为不同的设计。但我不明白为什么选择这个设计 你可以做这样愚蠢的事情: this.myMap.get(“x”).myMap.get(“x”).myMap.get(“x”)

今天我在我的工作场所看到了类似的课程:

public class A {
    private Map<String, A> myMap = Maps.newHashMap();
}
公共A类{
私有映射myMap=Maps.newHashMap();
}
这段代码编译、工作并执行它应该执行的操作。但它可以重构为不同的设计。但我不明白为什么选择这个设计

你可以做这样愚蠢的事情:

this.myMap.get(“x”).myMap.get(“x”).myMap.get(“x”)

我的问题:


是否真的有一个好的情况下,我们需要应用这样的设计?为什么?

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


一个人有孩子,这些孩子也是人,他们也可以有孩子。

为了扩展,这可能是有意义的:
公共类person{Map relationshipMap}
其中
relationshipMap
是人的集合,字符串描述了关系(母亲、父亲、孩子等)