D'accord, je comprends déjà mieux l'intérêt expliqué comme ça. Merci !
En gros, dans ma vision initiale de la chose, on avait ça :
public class Personne {
// some code
}
public class Etudiant extends Personne {
// some code
}
Et faire Etudiant eleve1 = new Personne() me semblait incohérent, dans le sens où Etudiant est explicitement une Personne, vu que Etudiant hérite de Personne.
Donc à mon sens, c'était illogique. Je veux dire, oui, un élève est une personne, mais un élève est aussi un étudiant. 
Enfin du coup, les méthodes je trouve ça plus explicite, merci beaucoup !