Corsi on-line

Le interfacce in Java 8

Java 8 dovrebbe essere rilasciato all’interno di una JDK stabile entro l’anno corrente ma non prima del prossimo settembre, molte delle features implementate per questa versione sono però già note e possono essere brevemente introdotte, come per esempio le nuove interfacce riviste e corrette dagli sviluppatori del progetto; in linea generale è possibile affermare che la vera novità in questo senso è rappresentata dalla possibilità di definire metodi statici e di default attraverso le interfacce stesse.

Per quanto riguarda i metodi statici, data una specifica interfaccia vi sarebbe già la possibilità di introdurre una classe associata ad un metodo statico in grado di manipolare le istanze dell’interfaccia; ma con Java 8 sarà introdotto un nuovo caso, quello che prevede la presenza del metodo statico direttamente all’interno dell’interfaccia, ciò renderebbe inutile la classe accessoria o permetterebbe di attribuirla ad un package con livello di visibilità private.

Relativamente ai metodi di default, è possibile presentare l’esempio del metodo forEach integrato per java.lang.Iterable; un esempio del suo utilizzo potrebbe essere il seguente:

public default void forEach(Consumer<? super T> action) {
Objects.requireNonNull(action);
for (T t : this) {
action.accept(t);
}
}

Fino ad oggi Java non prevedeva l’inserimento di metodi dalle interfacce, questa nuova feature consentirà di effettuare implementazioni senza il ricorso di “companion utility class” abbreviando i tempi necessari per la digitazione dei sorgenti e aumentando le performances della applicazioni.

Post correlati
I più letti del mese
Tematiche