• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

PuPax

Classe Extended e Serializable

9 mensagens neste tópico

Boas...

Estou tendo um problema ao guardar um objecto (arraylist) num ficheiro de texto.

Tenho a seguinte classe:

public class Pessoa

{

    ....

}

public class Cliente extends Pessoa

{

  ....

}

Sei que a classe Cliente tem que ser Serializable (implements Serializable), porém já testei e ele continua a dar erro dizendo que a classe nao é serializable.

Como poderei fazer?

Cumprimentos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Criei...

public class Pessoa implements Serializable

{

  ....

}

public class Client extends Pessoa implements Serializable

{

  ....

}

Continua a dizer a mesma coisa.:S

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Possivelmente o erro deve de vir de alguma objecto que está dentro da Pessoa ou o Client que não é serializable, é que todas as propriedades do Objecto deve ser também serializable

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

As classes estão definidas da seguinte maneira:

public class Pessoa implements Serializable{

private String nome;
private String morada;
private int tlf;
private String obs;

public Pessoa()
{
	this.nome = "";
	this.morada = "";
	this.tlf = 0;
	this.obs = "";
}

public Pessoa(String nome, String morada, int tlf, String obs)
{
	this.nome = nome;
	this.morada = morada;
	this.tlf = tlf;
	this.obs = obs;
}


public String getNome(){return nome;}
public String getMorada(){return morada;}
public int getTlf(){return tlf;}
public String getObs(){return obs;}

public void setNome(String nome){this.nome = nome;}
public void setMorada(String morada){this.morada = morada;}
public void setTlf(int tlf){this.tlf = tlf;}
public void setObs(String obs){this.obs = obs;}
}

public class Cliente extends Pessoa implements Serializable{

/**
 * 
 */
private static final long serialVersionUID = 1L;
private String n_cliente;

public Cliente()
{
	super("", "", 0, "");
	this.n_cliente = "";
}

public Cliente(String nome, String morada, int tlf, String obs, String n_cliente)
{
	super(nome, morada, tlf, obs);
	this.n_cliente = n_cliente;
}

public String getN_cliente() {return n_cliente;}

public void setN_cliente(String n_cliente) {this.n_cliente = n_cliente;}	
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Então qual é o erro? Dá erro na compilação ou durante a execução?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Puxas olha la onde é k tens a parte do codigo k faz guardar no ficheiro???pelo que vi tens o que é preciso para guardar os dados no ficheiro mas falta ver a parte docodigo onde escreves no ficheiro

basta fazeres algo dogenero :

try

{

ObjectOutputStream fin = new ObjectOutputStream(new FileOutputStream("C:/pessoa"));

fin.writeObject(ArrayList_Que_queres_guardar);

fin.close();

}

catch (IOException fin)

{

}

}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora