Tornar uma propriedade não serializável no Java

De Basef
Revisão de 17h47min de 1 de maio de 2015 por Admin (discussão | contribs) (Criou página com 'Não é possível serializar um objeto de uma classe que possui propriedade cuja instância não é serializavel (que não implementa Serializable). Neste caso, uma exceção...')

(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para: navegação, pesquisa

Não é possível serializar um objeto de uma classe que possui propriedade cuja instância não é serializavel (que não implementa Serializable). Neste caso, uma exceção em tempo de execução ocorrerá: java.io.NotSerializableException

O modificador 'transient' pode ser usado nestes casos:

package javaapplication1;
 
import java.io.*;
public class JavaApplication1 implements Serializable {
    public transient Test test = new Test();
    public static void main(String [] args) {
        JavaApplication1 f = new JavaApplication1();
        try {
            FileOutputStream fs = new FileOutputStream("Test123.tmp");
            ObjectOutputStream os = new ObjectOutputStream(fs);
            os.writeObject(f); os.close();
        } catch (Exception ex) { 
            ex.printStackTrace(); 
        }
    } 
}
 
class Test { }

[[Category:Java]