How does the following Java code demonstrate the use of an array of objects?
Book[] myBooks = new Book[5];
It initializes each Book object with default values
It compiles with an error unless each Book object is instantiated
It creates 5 new Book objects
It declares an array capable of holding 5 Book references