Tornar uma propriedade não serializável no Java

From Basef
Revision as of 18:47, 1 May 2015 by Admin (Talk | 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...')

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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]