2017-10-02 1 views
-1

Im un débutant Java et je ne comprends pas la déclaration suivanteForêt f = nouvelle forêt (nouvel arbre [] {m, p}) ;?

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

Ce que je comprends est que nous construisons une nouvelle Tree à l'intérieur d'une forêt, mais l'expression suivante {m,p} Je ne comprends pas. Ce qui me déroute ce sont ces types de parenthèses {. Je pensais que vous avez toujours utilisé () pour un constructeur. Une explication serait géniale.

PS.

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

Ici vous construisez un tableau de type 'Tree'in que vous mettez d'abord' m'and 'p' –

+2

A quoi sert la partie" PS "? Il ne compilerait pas pour plusieurs raisons. – QBrute

+0

cela signifie post scriptum. – Jazzl

Répondre

3

new Tree[]{m,p} crée un tableau de Tree s contenant deux Tree s - référencée par m et p.

Il est équivalent à:

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

ou à:

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

accolades sont utilisées pour inizialize tableaux.

int[] anArray = {0, 1} 

est équivalent à

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

Bien sûr est le même pour le type de données d'arbres