2011-04-02 19 views
14

En términos de "Layman", me preguntaba si alguien podría explicarme la importancia y la importancia general de importar la clase Serializable para implementar la interfaz java.io.Serializable. preguntado por el estudiante de Java¿Cuál es el significado de la clase java.io.Serializable?

+0

Esto puede darle cierta información útil: http://stackoverflow.com/questions/441196/why-java-needs-serializable-interface – Rahul

+5

'Serializable' es una interfaz y no una clase. –

Respuesta

14

java.io.Serializable es lo que se conoce como una "interfaz de marcador". La interfaz en sí no tiene métodos definidos en ella. Por lo que cualquier clase puede implementar fácilmente esta interfaz, simplemente implementando es:

public class MyClass implements Serializable { 
     public void aMethodForMyClass() { } 

     // not implementing any specific java.io.Serializable methods because 
     // the interface has no methods to implement. 
} 

Es una interfaz de "marcador", porque mediante la implementación de esta interfaz le está diciendo al serializador Java que está bien para serializar objetos de este tipo. Si su clase no implementa esta interfaz, el serializador se negará a serializar cualquier objeto de ese tipo.

+1

También significa que promete que todas las variables que componen un objeto de esta clase también se pueden serializar o que implementa el código necesario para manejarlas de todos modos. – JenEriC

+2

serializador Java? – JAVA

+0

Esto es algo que ocurre en tiempo de compilación o en la JVM. En otras palabras, si no implemento Serializable y trato de serializar una clase ¿encontraré errores de compilación o de tiempo de ejecución? – BrightIntelDusk

Cuestiones relacionadas