如何在java中定义类之间的关系?
更具体的问题是: //有两个等级A和B:如何在java中定义类之间的关系?,java,arraylist,associations,Java,Arraylist,Associations,更具体的问题是: //有两个等级A和B: Class A { public static List<B> b = new ArrayList<B>(); } Class B { } A类{ 公共静态列表b=新的ArrayList(); } B类{ } 在我的模式中,我想从类b中创建一个对象b。然后在所有情况下,对象b将涉及类a中至少两个对象“a_x”和“a_y”。我如何创建这样的关系?首先,这个公共静态列表b=new List()无法编译 您可能需要public静态
Class A {
public static List<B> b = new ArrayList<B>();
}
Class B {
}
A类{
公共静态列表b=新的ArrayList();
}
B类{
}
在我的模式中,我想从类b中创建一个对象b。然后在所有情况下,对象b将涉及类a中至少两个对象“a_x”和“a_y”。我如何创建这样的关系?首先,这个
公共静态列表b=new List()代码>无法编译
您可能需要public静态列表b=newarraylist()代码>
您无法实例化接口。因此请提供一个concreate实现。Ex:ArrayList
第二件事,你应该在你创建这个列表的地方直接添加它们,如果你有一个关系,其中每个B
与至少两个a
实例相关,那么B
需要一个集合类型的字段。例如:
public class B {
private List<A> relatedAList = new ArrayList<>();
...
}
公共B类{
private List relatedAList=new ArrayList();
...
}
这需要是一个实例字段,而不是静态字段
但是如果您有一个2+
关系,那么调用相关对象x
和y
是没有意义的。。。因为如果有一个z
,和一个p
,依此类推。除非每个B
的相关a
对象的数量有一个固定的上限,否则必须使用某种集合来表示每个B
的相关a
s。这就是关系:
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;
}
}
A类
{
public List b=new ArrayList();
}
B类
{
斧头;
是的;
B(一把斧头,一把斧头)
{
this.ax=ax;
this.ay=ay;
}
}
这就是你需要的
你为什么需要这样的关系