更具体的问题://有两个类A和B:
Class A {
public static List<B> b = new ArrayList<B>();
}
Class B {
}
在我的模式中,我想要一个来自 B 类的对象 b。那么在任何情况下,对象 b 都将涉及来自 A 类的至少两个对象“a_x”和“a_y”。我怎样才能创建这样的关系?
更具体的问题://有两个类A和B:
Class A {
public static List<B> b = new ArrayList<B>();
}
Class B {
}
在我的模式中,我想要一个来自 B 类的对象 b。那么在任何情况下,对象 b 都将涉及来自 A 类的至少两个对象“a_x”和“a_y”。我怎样才能创建这样的关系?
首先,这public static List<B> b = new List<B>();
不会编译。
您可能需要公开static List<B> b = new ArrayList<B>();
你不能实例化一个接口。所以提供一个concreate实现。Ex:ArrayList
第二件事,您应该将它们直接添加到您正在创建的地方list
。
这是关系:
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;
}
}
这是你需要的吗?
你为什么需要这样的关系?
如果您有一个关系,其中每个B
都与至少两个 A
实例相关,则B
需要一个集合类型的字段。例如:
public class B {
private List<A> relatedAList = new ArrayList<>();
...
}
这需要是实例字段,而不是静态字段。
但是如果你有一个关系,调用相关的对象和......是2+
没有意义的,因为如果有 a ,和 a等等。除非每个相关对象的数量有固定上限,否则您必须使用某种集合来表示每个相关对象。x
y
z
p
A
B
B
A