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.
Yes, it is correct.
The line:
allocates the array, full of references to
nullwhile the line:fills it [the array] by instantiating objects of type
Person, and assigning the reference in the array.