Purtroppo dalle domande che fai non posso fare a meno di rimandarti ad un buon libro di programmazione.
Soprattutto la domanda sul perché di "Animale animale" mi fa capire che non hai le idee chiare: "Animale" è il nome della classe, mentre "animale" è una sua istanza, cioè un oggetto della classe "Animale".