Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.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 - Fatal编程技术网

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的任何构造函数。