allocating for array and then using constructor
allocation, arrays, constructor, java
Solution
Yes, it is correct.
The line:
Person[] people = new Person[20]
allocates the array, full of references to `null` while the line:
new Person(NameUtils.randomFirstName(),
NameUtils.randomLastName()); //this line
fills it [the array] by instantiating objects of type `Person`, and assigning the reference in the array.
Problem
Person.java ``` public class Person { public String firstName, lastName; public Person(String firstName, String lastName) { this.firstName = firstName; this.lastName = lastName; } public String getFullName() { return(firstName + " " + lastName); } } ``` PersonTest.java ``` public class PersonTest { public static void main(String[] args) { Person[] people = new Person[20]; //this line . for(int i=0; i<people.length; i++) { people[i] = new Person(NameUtils.randomFirstName(), NameUtils.randomLastName()); //this line } for(Person person: people) { System.out.println("Person's full name: " + person.getFullName()); } } } ``` In above code, we used twice "new". Is this code is correct or wrong? First one is for allocation of array. But why the second one? It's from lecture notes.