0

更具体的问题://有两个类A和B:

Class A {
public static List<B> b = new ArrayList<B>();
}

Class B {
}

在我的模式中,我想要一个来自 B 类的对象 b。那么在任何情况下,对象 b 都将涉及来自 A 类的至少两个对象“a_x”和“a_y”。我怎样才能创建这样的关系?

4

3 回答 3

1

首先,这public static List<B> b = new List<B>(); 不会编译。

您可能需要公开static List<B> b = new ArrayList<B>();

你不能实例化一个接口。所以提供一个concreate实现。Ex:ArrayList

第二件事,您应该将它们直接添加到您正在创建的地方list

于 2013-09-04T08:12:14.347 回答
0

这是关系:

class A
{
    public List<B> b = new ArrayList<B>();
}

class B
{

    A ax;
    A ay;

    B(A ax, A ay)
    {
        this.ax = ax;
        this.ay = ay;
    }
}

这是你需要的吗?

你为什么需要这样的关系?

于 2013-09-04T08:22:04.143 回答
0

如果您有一个关系,其中每个B都与至少两个 A实例相关,则B需要一个集合类型的字段。例如:

   public class B {
       private List<A> relatedAList = new ArrayList<>();
       ...
   }

这需要是实例字段,而不是静态字段。

但是如果你有一个关系,调用相关的对象和......是2+没有意义的,因为如果有 a ,和 a等等。除非每个相关对象的数量有固定上限,否则您必须使用某种集合来表示每个相关对象。xyzpABBA

于 2013-09-04T08:18:58.537 回答