我有两节课。当我第一次开始时,逻辑上对我来说是有意义的,因为它们直接相互关联:
class ClassA
{
List<ClassB> list = new ArrayList();
public boolean add(ClassB cB)
{
return list.add(cB);
}
public ClassB get(int index)
{
return list.get(index);
}
class ClassB
{
public int test()
{
return 123;
}
}
}
随着我的进步,我开始怀疑是否最好不要嵌套它们。如果我想向ClassA添加构造函数,例如:
public ClassA(List<ClassB> list)
这会造成困难。为了创建传递给构造函数的列表,它需要我有一个我当时可能没有的ClassA实例,这将首先打败这样一个构造函数的目的。
逻辑上,我只会将ClassB与ClassA联合使用,但我可能需要直接引用ClassB,而不需要ClassA实例。我应该嵌套这些类,还是将它们分开?
答案 0 :(得分:0)
如果在ClassA实例不可用时要引用ClassB,则不要嵌套ClassB。
如果要嵌套,则需要一个对象ClassA来访问ClassB,因为它只能存在于ClassA的实例中。