static abstract class Item<T> { //数据结构设计得过于复杂，完全可以舍弃这个类
//判断一个项是否是另一个项的子项，应该把它独立为一个方法，不然写起来，调试起来显得复杂