给出下图,我想知道以下内容:
答案 0 :(得分:1)
由于最大多重性为1,因此缺少的所有示例图都是{complete,disjoint}的泛化集。现在,您的图表默认为{不完整,重叠},这意味着实例可以是A和B的成员,也可以只是GPS的成员。
答案 1 :(得分:0)
如何使用这样的泛型?
public class A<T extends B> {
List<T> list = new ArrayList<>();
public List<T> getList() {
return list;
}
public void setList(List<T> list) {
this.list = list;
}
}
public class B {
}
public class C extends B {
}
public class D extends B {
}
然后您将用所需的B子类型实例化类A,如下所示:
A<C> a = new A<>();
C c = new C();
D d = new D();
a.getList().add(c); //works fine
a.getList().add(d); //compile error
答案 2 :(得分:0)
从评论中取出水果篮,您需要为0..n
而不是1
指定一个多重性。
如果希望所有实例都是相同的子类,则需要以任何方式添加约束。如果您的工具不允许使用,只需添加带有{ all instances of
B must have the same type }
之类的注释。