meu professor passou pre gente um projeto que ele tinha feito de exemplo que cria uma conexao com banco de dados pra adicionar alunos e disciplinas e depois fazer a consulta e excluir, eu tava dando uma olhada no projeto e vi ( por enquanto ) , duas linhas que eu fiquei na duvida pra que serve,são elas:
import java.io.Serializable;
private static final long serialVersionUID = 1L;
A interface Seriazable indica que o ibjeto pode ser serializad (intuitivo não?). Mas o que é serialização???
Significa que você pode pegar seu objeto e salvar o estado dele (atributos) e informaçãoes sobre estes e jogar tudo num stream (pode ser um arquivo). assim vc poderia salvar o estado de um objeto e recupera-lo numa execução futura (desserialização).
O serialVersionID funciona como uma identificação para a versão da serialização. Por exeplo, vc pode serializar um objeto com atributos String, String e numa versao futura desse programa retirar um desses atributos. isso geraria problema na desserialização. assim, o atributo serve para identificar a “versão da sua classe”. o java consulta antes de desserializar um objeto, qual a versao atual e a versao na qual o objeto foi serializado para ver se é compativel.
J
jct
entao depois de usar o serializable eu posso chamar o objeto dentro da classe em outra, mesmo que falta algum atributo que nao vai ter problema?
e obrigado pela ajuda, pq nao to querendo o programa pronto, mas sim aprender, com certeza vou passar aqui com mais duvidas.
goblin
tive a mesma dúvida que você, encontei exemplos no blog:
J
jct
Bom dia pessoal
esse link que você mandou é excelente goblin, muito obrigado, me ajudou bastante
agora tenho outra duvida gente
alguem sabe me dizer o que significa essa duas linhas?
public DadosException(String msg){
super(msg);
desde ja agradeço pela ajuda, como disse nao quero o trabalho pronto e sim aprender como tudo funciona, por isso faço essas perguntas meio que detalhadas.
obrigado
nel
jct:
Bom dia pessoal
esse link que você mandou é excelente goblin, muito obrigado, me ajudou bastante
agora tenho outra duvida gente
alguem sabe me dizer o que significa essa duas linhas?
public DadosException(String msg){
super(msg);
desde ja agradeço pela ajuda, como disse nao quero o trabalho pronto e sim aprender como tudo funciona, por isso faço essas perguntas meio que detalhadas.
obrigado
Oi.
Pesquise sobre Herança em Java.
O super vai invocar a primeira classe concreta Pai que implemente o mesmo construtor/método.
Abraços.
J
jct
pelo que eu entendi a primeira dessas duas linhas é a criação de um metodo pra tratar as exceções e a segunda épra mostrar a mensagem de erro do metodo, só que como a mensagem de erro ta na classe pai, é só colocar o super que ela vai diretamente buscar na classe exception( classe estendida)?
nel
jct:
pelo que eu entendi a primeira dessas duas linhas é a criação de um metodo pra tratar as exceções e a segunda épra mostrar a mensagem de erro do metodo, só que como a mensagem de erro ta na classe pai, é só colocar o super que ela vai diretamente buscar na classe exception( classe estendida)?
Supondo que seja essa sua classe, sim, é isso mesmo. No seu projeto poderia declarar um método que lance um DadosException, por exemplo.
Mas DadosException pode ser uma classe extendida de outra qualquer, até mesmo algo como GeralException e essa sim, extende Exception.
O mais importante é que tenha entendido o conceito. E estude sobre herança conforme foi indicado.
Abraços.
Lucas_Abbatepaolo
O super indica que vc esta buscando a classe pai.
Ao chamar super.metodo() significa que eu estou chamando este metodo com a implementação na classe pai.
Quando utilizar somente super(), significa que está chamando o contrutor da super classe.
No caso que vc postou esta sendo chamado o construtor da classe pai passando a String msg como parametro para ele.
J
jct
isso mesmo, a minha classe fico igualzinha essa sua, mas Exception não é uma classe, mas acho que é do proprio java se nao me engano né?
o conceito acho que entendi mais ou menos, mas ja me ajudo bastante, outra duvida, quando aparece um sinalzinho amarelo de alerta, mas o programa mesmo assim compila, que dizer que o item seleciona sublinhado com amarelo nao te sendo usado e pode ser tirado que nao vai fazer falta ou nada a ver?
nel
jct:
isso mesmo, a minha classe fico igualzinha essa sua, mas Exception não é uma classe, mas acho que é do proprio java se nao me engano né?
o conceito acho que entendi mais ou menos, mas ja me ajudo bastante, outra duvida, quando aparece um sinalzinho amarelo de alerta, mas o programa mesmo assim compila, que dizer que o item seleciona sublinhado com amarelo nao te sendo usado e pode ser tirado que nao vai fazer falta ou nada a ver?
Brother, entra no site da Caelum e baixa a apostila sobre Java deles, senão me engano a FJ-11.
Dá uma lida, estuda, faça os exercícios. Você ainda está com dúvidas muito básicas, como não tem certeza de onde é a classe Exception.
É fundamental que aprenda o básico, o conceito de orientação a objetos entre outros. Não estou falando em se aprofundar, mas ter o conhecimento do que é, no básico ao menos.
Sobre o ‘alert’, pode ser várias coisas. Desde um cast sem confirmação por parte do compilador quanto uma variavél não utilizada.
Tenha cuidado, os ‘alert’ não são somente para variavéis que não são utilizadas.
J
jct
ok cara, vo baixa la sim, valeu.
eu to perguntando tanto porque o trabalho é pra terça da semana que vem e como eu tava fazendo estagio to meio atrasado e apavorado em nao conseguir terminar, mas valeu.
nel
jct:
ok cara, vo baixa la sim, valeu.
eu to perguntando tanto porque o trabalho é pra terça da semana que vem e como eu tava fazendo estagio to meio atrasado e apavorado em nao conseguir terminar, mas valeu.
Percebi que está apavorado. Mas fique tranquilo que ainda tens o fim de semana para estudos.
Dê uma lida sobre Herança e aqui está a classe Exception ok?
Abraços.
J
jct
valeu cara, tenho um material muito bom que o professor passou do deitel, mas vo baixa essa apostila da Caelum tambem.