Trata de comprender 2 cosas.
Crear un objeto es muy diferente a INSTANCIAR.
Cuando tu creas un objeto y no lo instancias, ese objeto tiene el valor Null, por que no apunta a nada. Ese objeto tienes que
instanciarlo para que pueda usar sus métodos. Un objeto no es más que una
referencia de una clase en particular.
Así, si hacemos lo del ejemplo anterior:
Libreria[] libro = new Libreria[10];
Estamos creando solamente diez referencias de la clase Librería. Si ahora tratáramos de hacer esto:
libro[0].registrarLibro("Lo que el viento se llevo");
Te dará un hermoso NullPointerException. ¿Por qué? Sencillamente porque NO HEMOS INSTANCIADOS LAS REFERENCIAS U OBJETOS, como quieras llamarle. Todo objeto en Java necesita ser instanciado, de lo contrario, el objeto será prácticamente inexistente e inútil.
Saludos.