Marker Interface in Java

In informatica il pattern marker interface è utilizzato quando è necessario fornire informazioni a runtime su un oggetto. In java una marker interface è sostanzialmente un’interfaccia vuota, ovvero che non dichiara alcun metodo, il che significa che la classe che la estende non deve implementare alcun metodo. L’utilizzo di tale tecnica migliora la leggibilità della classe ed inoltre consente di ereditare tutti i vantaggi del polimorfismo.

Alcune marker interface già esistono nel JDK come le interfacce SerializableClonable e Remote, ed indicano alla JVM che gli oggetti devono essere trattati in modo particolare. Ad esempio l’interfaccia Serializable indica che lo stato dell’oggetto può essere serializzato in uno stream per essere letto o scritto utilizzando le classi ObjectOutputStream e ObjectInputStream.

Il codice seguente, as esempio, scrive lo stato dell’oggetto Employee (che per ipotesi estende Serializable) su file system come array di byte:

Per inciso, la serializzazione è utile ogni volta che un oggetto deve essere condiviso su più JVM, come ad esempio nel caso di ambienti cluster.

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!