axo pouco provavel… (não impossivel) que esteja incorreto…
M
matheus564
Eu não testei, mas provavelmente tá certo, mas fiquei na duvida em como o servidor faz pra setar o ID, já que Person não possui esse método. Ele faz um cast por conta ??
ItaloE
Acho improvavel um erro tb…pq a instanciaçao esta correta…
M
matheus564
Sim ele não dá erro, e segundo o livro seta o nome e EmID corretamente. Mas a minha pergunta é como ele faz isso. Em J2SE se tu fizer
Person person = new Employee();
person.setEmID(12); Dá erro, porque não é possível achar o método setEmID na classe Person.
E
eduardo.cerqueira
Matheus:
Acredito que ele utiliza Aspecto pra poder criar um metodo em tempo de execução.
Dessa forma, no momento que você informa um valor no campo ID ele automaticamente através de aspecto e annotação, sabe que para setar um valor, precisa criar um set + nome do campo, assim é criado o setId em tempo de execução e seta o valor pra ele.
Alguém me corrige se eu estiver errado.
Abraços
sapulha
Acredito que possa ser pela utilização de reflexão na hora de chamar o método, dessa forma ele deve usar o tipo da classe, e não o tipo passado pelo parametro type.
Com reflexão pode-se resolver o problema do casting.