Sei partito parlando, giustamente, delle interfacce.
Ma, poi, hai detto di voler inserire un campo numeroMatricola nell'interfaccia "Studente". Il fatto, però, che un'interfaccia non possa contenere variabili, ma solo metodi, costanti e tipi innestati dovrebbe farti riflettere.

Allora, hai una classe Persona. Corretto.
Ora, se questa persona può essere uno Studente, un Lavoratore o uno Studente - Lavoratore, mi viene in mente che Studente e Lavoratore possano essere due interfacce.

A me verrebbe in mente una modellizzazione di questo tipo:

- Una classe Persona con tutti gli attributi possibili (nome, cognome, numeroMatricola, salario), la quale, di per sé, non usa né il numeroMatricola, né il salario (quindi, non prevede alcun metodo per la manipolazione di queste informazioni)

- Un'interfaccia Studente, che permette di manipolare il numeroMatricola
- Un'interfaccia Lavoratore, che permette di manipolare il salario

Ora, questa la situazione:

- Persona è una classe che rappresenta una persona normale
- Lo studente è una Persona che implementa l'interfaccia Studente
- Il lavoratore è una Persona che implementa l'interfaccia Lavoratore
- Lo Studente-Lavoratore è una Persona che implementa entrambe le interfacce

Non è proprio il massimo, ma nemmeno l'esercizio è il massimo come esempio d'uso delle interfacce, anzi direi che chi l'ha pensato ha egli stesso le idee piuttosto confuse. Ce ne sono di migliori.

Ciao.