[Resolvido] Dúvida com palavra reservada no Java

8 respostas
matheuslmota

Alguem poderia informar qual o significado da palavra reservada transient e quando eu devo usá-la?

8 Respostas

renamed

O java tem um processo de serialização nativo, onde vc pode salvar em memória secundária um objeto (em arquivo) e, quando recuperar esse objeto ele estará como da primeira vez que foi usado.

Por exemplo:

public class Pessoa implements Serializable{ private int idade; private String nome; }

Para serializar uma classe ela precisa implementar a interface Serializable, essa interface não obriga a classe a implementar nenhum método, apenas diz que ela pode ser serializada.

A palavra transient impede que um dos campos da classe seja serializado. Ou seja, sua classe será serializada, mas aquele atributo não.

public class Pessoa implements Serializable{ private transient int idade; //idade não será serializada private String nome; }

ok?

davidbuzatto

Quando vc marca uma variável de instância de uma classe como transient, quer dizer que se você serializar um objeto dessa classe, os atributos marcados como transient não serão serializados. Então no processo de deserialização, o objeto gerado não conterá o valor para aquele atributo. Se não me falha a memória, os campos transientes serão inicializados com o valor padrão do tipo.

[]'s

drsmachado

Esta palavra é utilizada para indicar atributos que não serão persistidos. Utiliza-se quando se está utilizando serialização, ao extender uma classe de Serializable.
A indicação transiente String aString;
Indica que aString não será serializada com o valor do estado do objeto.

pedruhenrik

fonte: http://javafree.uol.com.br/topic-3822-Transient.html

adicionais:

http://www.guj.com.br/java/58963-palavras-chave-transient-e-volatile#309831
http://javafree.uol.com.br/topic-850586-Modificador-transient.html

att,

drigo.angelo

4 respostas em exatamente 2:30 min :shock:

davidbuzatto

As três primeiras foram praticamente ao mesmo tempo. Quando entrei no tópico ainda não tinha nenhuma :smiley:

[]'s

matheuslmota

Obrigado a todos pelas respostas. Entendi tudo :wink:

pedruhenrik

eu até pensei q tinha respondido no tópico errado…rsrs

Criado 9 de fevereiro de 2011
Ultima resposta 9 de fev. de 2011
Respostas 8
Participantes 6