Serializable

3 respostas
R

Aê galera!!!

Gostaria de saber algumas informações sobre o tipo Serializable. É uma classe ou interface? Qual a sua utilidade?

Agradeço a colaboração!!!:smiley:

3 Respostas

A

ela eh uma interface… voce implemeta ela na classe que voce deseja serializar!!!

a serialização serve para salvar as informaçoes da sua classe em um arquivo *.ser!!!

exemplo:
eu tenho um classe contato que tem 2 atributos ( nome, telefone ) depois q eu tiver com minha classe pronta(com os atributos preenchidos) eu serializo esse objeto!!! quando eu deserializar ele… ele vai abrir essa classe… sem passar pelo construtor… e sem pegar os valores default para suas variasveis… ele vai pegar os valores q eraum kuandu vc serializou o objeto!!!

Paulo_de_Tarso

Serialização é o mecanismo default de persistência do Java.

Para utilizá-lo basta fazer sua classe implementar a interface java.io.Serializable que é apenas uma interface de marcação.

Também é recomendável definir o atributo serialVersionUID.

Opcionalmente, se você não gostar da serialização default, você pode reescrever na sua classe os métodos responsáveis por isso.

Atenciosamente,

LPJava

quando vc deseja salvar o estado do seu objeto… quando vc faz um programa… normalmente vc instancia um objeto ai vc quer salvar o estado dele(o seu valor) para usar depois e isso vc faz com a serialização, sem ela toda vez que o construtor é rodado… os valores sao perdidos recebendo o valor padrao… ou o valor definido explicitamente… um exemplo:
Voce cadastrou uma pessoa e colocou altura dela 1.70, e serializou esse objeto. Dai o roda construtor da classe, porem a altura do objeto ela nao roda… ou seja, se tiver um valor padrao ela nao recebe o valor padrao… ai vc pode recuperar aquele valor que foi definido…

import java.io.*;
class Trans implements Serializable{
	transient int x=42;
	Trans(int a){
		x=a;
	}
	public static void main(String args[]){
		Trans t = new Trans(10);
		System.out.println(t.x);
		try{
			FileOutputStream fo = new FileOutputStream("rn.xtt");
			ObjectOutputStream oo = new ObjectOutputStream(fo);
				oo.writeObject(t);
		}catch(Exception e){e.printStackTrace();}
		
		try{
			FileInputStream fi = new FileInputStream("rn.xtt");
			ObjectInputStream oo = new ObjectInputStream(fi);
				t=(Trans)oo.readObject();
		}catch(Exception e){e.printStackTrace();}
		System.out.println(t.x);
	}}
Criado 18 de maio de 2007
Ultima resposta 18 de mai. de 2007
Respostas 3
Participantes 4