solo un dubbio avrei io, quel metodo creaLibro non è che deve essere un metodo factory?
Anche se la parolona "metodo factory" può confondere all'inizio non è altro che un metodo statico che sostituisce la funzione del costruttore, spesso questi metodi sono utili da usare per cambiare firma del "costruttore" a seconda dei parametri passati, cosa che un costruttore veroi e proprionon può fare visto che il nome deve essere sempre quello uguale alla classe.
Quindi io il metodo creaLibro lo implementerei così:

codice:
public static Libro creaLibro(String t, String a, double p)
//inoltre il prezzo lo farei a virgola mobile visto che gli euro hanno
//decimali
{
return new Libro(t, a, p);
}
Per stampare le informazioni del libro sei sicura che non basti utilizzare la console?