森林 = new Forest(new Treemap);? [复制]
Posted
技术标签:
【中文标题】森林 = new Forest(new Treemap);? [复制]【英文标题】:Forest f = new Forest(new Tree[]m,p);? [duplicate]森林 = new Forest(new Treemap);? [复制] 【发布时间】:2018-03-13 07:30:15 【问题描述】:我是Java初学者,看不懂下面的说法
Forest f = new Forest(new Tree[]m,p).
我的理解是我们在森林中构造了一个新的Tree
,但下面的表达式m,p
我不明白。让我感到困惑的是这些类型的括号。我以为你总是使用
()
作为构造函数。
一个解释会很棒。
PS。
Mango Tree m= new Mango Tree;
Pear Tree p = new PearTree();
【问题讨论】:
在这里,您正在构造一个Tree
类型的数组,您最初将 m
和 p
放入其中
“PS”部分是关于什么的?由于多种原因,它无法编译。
表示后记。
【参考方案1】:
new Tree[]m,p
创建一个包含两个 Tree
s 的 Tree
s 数组 - 由 m
和 p
引用。
相当于:
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);
【讨论】:
【参考方案2】:花括号用于初始化数组。
int[] anArray = 0, 1
等价于
int[] anotherArray = new int[2];
anotherArray[0] = 0;
anotherArray[1] = 1;
对于Tree数据类型当然是一样的
【讨论】:
以上是关于森林 = new Forest(new Treemap);? [复制]的主要内容,如果未能解决你的问题,请参考以下文章