我在清单 1 中创建了一个简单的类以具体表述类层次的概念。一个给定的类可以有一连串的父类,例如 Vector
,它的父类是 AbstractList
,AbstractList
的父类又是 AbstractCollection
,AbstractCollection
的父类又是 Object
:
package com.vanward.adana.hierarchy; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; public class Hierarchy { private Collection classes; private Class baseClass; public Hierarchy() { super(); this.classes = new ArrayList(); } public void addClass(final Class clzz){ this.classes.add(clzz); } /** * @return an array of class names as Strings */ public String[] getHierarchyClassNames(){ final String[] names = new String[this.classes.size()]; int x = 0; for(Iterator iter = this.classes.iterator(); iter.hasNext();){ Class clzz = (Class)iter.next(); names[x++] = clzz.getName(); } return names; } public Class getBaseClass() { return baseClass; } public void setBaseClass(final Class baseClass) { this.baseClass = baseClass; } } |
正如您看到的,清单 1 中的 Hierarchy
类具有一个 baseClass
实例以及它的父类的集合。清单 2 中的 HierarchyBuilder
通过两个复制 buildHierarchy
的重载的 static
方法创建了 Hierarchy
类。
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/