Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中定义类之间的关系?_Java_Arraylist_Associations - Fatal编程技术网

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

如何在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静态

更具体的问题是: //有两个等级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
静态列表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;
}
}
这就是你需要的

你为什么需要这样的关系