Salve a todos!

Volevo approfondire un argomento di Java che ho avuto di modo di vedere in altro codici e che ho iniziato ad usare anche io. Solo che lo uso senza sapere bene come funzioni.

Un piccolo esempio veloce e' questo metodo elements che ritorna un iteratore per una lista.
codice:
	@Override
	public Iterator<Object> elements() {
		return new Iterator<Object>() {
			private NodoLista cursore=testa;
			@Override
			public boolean hasNext() {
// ritorna false se siamo arrivati in fondo
				return cursore!=null;
			}
			@Override
			public Object next() {
// prende l'oggetto e lo ritorna e si sposta nella lista  di una posizione.
				Object tmp=cursore.elemento;
				cursore=cursore.next;
				return tmp;
			}
			@Override
			public void remove() {
// non fa niente
			}
		};
	}
Come si chiama questo modo di implementare le interfacce nei metodi? avete qualche link per approfondire ll'argomento?
Il problema principale e' che non conoscendo come si chiama non so neanche cosa cercare su google! ho provato a scazzare qualcosa nel search field ma nada. Grazie in anticipo

daniele