Gerando Exception

3 respostas
A

Pessoal,

Quando eu faco um deploy no meu codigo, ele me gera essa exception, porem meu codigo roda, mas nao sei como concertar isso, segue a exception

Quem pode me ajudar ?

valew

3 Respostas

keller

java.io.NotSerializableException

Chute: Talvez sua classe tenha que implementar Serializable.

Valeu? Até… :thumbup:
[s]

A

Descupe a ignorancia ! mas eu tenho que iimplementar o Serializable, mas em que momento eu faco isso ?? na chamada do meu metodo ??

valew

peczenyj
public class MinhaClasse implements Serializable { 
...
}

antiga mensagem do 'Fox McCloud'

Ela (interface Serializable) não só pode ser implementada como nasceu para isso (daí a palavra implements). O que uma interface não pode ser é instanciada (new). Peguemos o exemplo da interface Runnable. Você simplesmente não pode fazer Runnable r = new Runnable(). É preciso criar uma classe que implemente Runnable se você quiser utilizá-la. Existem exceções, no caso da interface ser utilizada como uma classe implícita (um MouseListener, por exemplo), mas isso já está bem à frente dessa nossa conversa. No livro de certificação Java 5 da Cathy Sierra ela dá uma explicação muito interessante: ela diz que uma interface é um "contrato". Quando uma classe implementa uma interface ela está assinando um contrato, se comprometendo a implementar os métodos definidos na interface. A interface define o método, inclusive com argumentos, mas não diz nada sobre a sua implementação (na interface a declaração termina com ponto-vírgula, e não abre uma chave para iniciar a colocação de linhas de código). Detalhes interessantes: todo método de uma interface é implicitamente public abstract, colocando-se ou não esses modificadores, e toda variável de uma interface (porque a interface também pode ter variáveis) é implicitamente public static final, colocando-se ou não esses modificadores. Segue exemplo:
public interface Atualizavel{
   void atualiza();
 }
 
 public class Jogo implements Atualizavel{
   public void atualiza(){
     // linhas de código
   }
 }

Se a classe Jogo implementar a interface Atualizavel, a não-implementação dos métodos da interface (no caso atualiza()) gerará um erro de compilação.

Saca esse exemplo do Thingol

import java.io.*;
 
 class Client implements Serializable {
     private String name;
     private String address;
     public String getName() { return name; }
     public String getAddress() { return address; }
     public void setName(String name) { this.name = name; }
     public void setAddress(String address) { this.address = address; }
     public String toString() { return "name='" + name + "' and address= " + address + "'"; }
 }
 
 
 public class Test17 {
 
     public static void main(String[] args)  throws Exception {
         ObjectOutputStream oos = new ObjectOutputStream (new FileOutputStream ("test.bin"));
         Client myClient = new Client();
         myClient.setName("Steve Jobs");
         myClient.setAddress("1 Infinite Loop; Cupertino, CA 95014");
         oos.writeObject (myClient);
         oos.close();
         ObjectInputStream ois = new ObjectInputStream (new FileInputStream ("test.bin"));
         Client yourClient = (Client) ois.readObject();
         System.out.println (yourClient);
     }
 }

Achei pelo cache do Google nesse forum ;-)

Criado 6 de abril de 2006
Ultima resposta 6 de abr. de 2006
Respostas 3
Participantes 3