森林f =新森林(新树[] {m​​,p});?

时间:2017-10-02 08:24:40

标签: java constructor

我是Java初学者,我不理解以下声明

Forest f = new Forest(new Tree[]{m,p}).

我的理解是我们在森林中构建了一个新的Tree,但是我不明白以下表达式{m,p}。令我困惑的是这些类型的括号{。我以为你总是使用()作为构造函数。 解释会很棒。

PS。

Mango Tree m= new Mango Tree;
Pear Tree p = new PearTree();

2 个答案:

答案 0 :(得分:3)

Tree创建一个包含两个Tree的{​​{1}}数组,由mp引用。

相当于:

Tree[] trees = new Tree[2];
trees[0] = m;
trees[1] = p;
Forest f = new Forest(trees);

或者:

Tree[] trees = {m,p};
Forest f = new Forest(trees);

答案 1 :(得分:1)

使用大括号来初始化数组。

int[] anArray = {0, 1}

相当于

int[] anotherArray = new int[2];
anotherArray[0] = 0;
anotherArray[1] = 1;

当然,树数据类型

是相同的