我在清單 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
類。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/