public class Item {
private int id; //主类编号
private String title; //主类名称
private Subitem subitem[]; //多个子类
public Item(int id,String title) { //构造方法
this.id = id;
this.title = title;
}
public String getInfo() { //获取主类信息
return "主类编号:"+id+",主类名称:"+title+"。";
}
public void setSubitem(Subitem subitem[]) { //添加子类
this.subitem = subitem;
}
public Subitem[] getSubitem() { //获取子类信息
return subitem;
}
public static void main(String[] args) {
Item item = new Item(10,"编程语言"); //创建主类
Subitem a = new Subitem(1001,"java"); //创建子类
Subitem b = new Subitem(1002,"c"); //创建子类
Subitem c = new Subitem(1003,"c++"); //创建子类
a.setItem(item); //添加到主类
b.setItem(item); //添加到主类
c.setItem(item); //添加到主类
item.setSubitem(new Subitem[] {a,b,c}); //主类添加子类
System.out.println(item.getInfo()); //输出主类信息
System.out.println("--------------------------");
for(int i=0;i<item.getSubitem().length;i++)
//遍历数组,输出子类信息。
System.out.println(item.getSubitem()[i].getInfo());
}
}
class Subitem{
private int id;
private String title;
private Item item;
public Subitem(int id,String title) {
this.id = id;
this.title = title;
}
public String getInfo() {
return "子类编号:"+id+",子类名称:"+title+"。";
}
public void setItem(Item item) {
this.item = item;
}
public Item getItem() {
return item;
}
}
输出结果:
主类编号:10,主类名称:编程语言。
子类编号:1001,子类名称:java。
子类编号:1002,子类名称:c。
子类编号:1003,子类名称:c++。