Java 调用特定构造函数
我班上有两个构造函数Java 调用特定构造函数,java,Java,我班上有两个构造函数 public class Acc implements Serializable { .... public Acc() { super(); .... } public Acc(final Pays paysDefaut) { this(); if (paysDefaut != null) {
public class Acc implements Serializable {
....
public Acc() {
super();
....
}
public Acc(final Pays paysDefaut) {
this();
if (paysDefaut != null) {
...
}
}
....
}
我的问题是什么时候做
this.accAd = new ArrayList<Acc>(Voon.NB__MAX);
this.accAd=newarraylist(Voon.NB\uu MAX);
我想调用这个构造函数
public Acc(final Pays paysDefaut)
。有可能…?不,你不能按照你在评论中的方式来做。可以使用任何构造函数将元素添加到列表中,但不能在泛型的类型声明中使用
只需执行this.accAd=newArrayList()代码>
然后
this.accAd.add(新Acc(paysDefaut))代码>
当然,由于您将列表声明为list
,因此可以使用Java 7+中的菱形运算符(
)推断类型。不,您不能按照注释中显示的方式进行推断。可以使用任何构造函数将元素添加到列表中,但不能在泛型的类型声明中使用
只需执行this.accAd=newArrayList()代码>
然后
this.accAd.add(新Acc(paysDefaut))代码>
当然,由于您将列表声明为list
,因此可以使用Java 7+中的菱形运算符(
)推断类型。是的,这是可能的。你试过什么?您对构造函数的困惑是什么?我尝试了这个,但它不起作用this.accAD=newarraylist(Voon.NB\u MAX)代码>您似乎混淆了泛型类型参数和对象实例。accAd
是什么?您只是在
中指定了类型,而没有向它发送该类型的实例。调用ArrayList
的构造函数不会调用Acc
的任何构造函数。是的,这是可能的。你试过什么?您对构造函数的困惑是什么?我尝试了这个,但它不起作用this.accAD=newarraylist(Voon.NB\u MAX)代码>您似乎混淆了泛型类型参数和对象实例。accAd
是什么?您只需在
中指定类型,而不向其发送该类型的实例。调用ArrayList的构造函数不会调用Acc的任何构造函数。