如何在java中定义类之间的关系?

时间:2013-09-04 08:09:28

标签: java arraylist associations

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

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

Class B {
}

在我的模式中,我想要来自B类的对象b。然后在所有情况下,对象b将涉及来自A类的至少两个对象“a_x”和“a_y”。如何我创造了这样的关系?

3 个答案:

答案 0 :(得分:1)

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

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

您无法实例化Interface.So提供了一个concreate实现。Ex:ArrayList

第二件事,你应该直接在你创建这个list的地方添加它们。

答案 1 :(得分:0)

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

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

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

但是如果你有一个2+关系,那么调用相关对象xy就没有意义......因为如果有一个{{1}怎么办? },和z等等。除非每个p的相关A个对象的数量都有固定的上限,否则您必须使用某种集合来表示每个B的相关B

答案 2 :(得分: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;
    }
}

这是你需要的吗?

为什么你需要这样的相关性?