Kathy Sierra afirma que o compilador dela pertime recursividade entre constructors sobrecarregados.
O meu compilador não,acho que no dela daria uma StackOverFlowException /* <— acho que ta errado o nome da exceção :roll: */
Qual possibilidade eu considero para a prova,erro de compilação ou de RunTime???
Todas as exceptions relativas à compilador são de compilação. Erros de runtime são apresentados quando o aplicativo está compilado (foi gerado o bytecode) e o mesmo está sendo utilizado sobre uma JVM.
Sim eu sei minha bela e fofa caveira…quando dou javac no meu arquivo ele nao compila…
A Katy Sierra diz que o compilador dela permite mas a JVM lança uma StackOverFlow =P
Só que meu COMPILADOR(quando vc da javac no prompt),nao permite… =P
Caverinha voce é muito danadinha,mas eu nao sou tao burrinha assim(só um tiquinho,mas nao tanto).
Sim, mas para a ocorrer a exceção em StackOverFlow (ou seja, houve erro em tempo de execução), o arquivo precisa estar compilado…
Sendo assim, não é erro de compilador…
[quote=FacapeGirl]Kathy Sierra afirma que o compilador dela pertime recursividade entre constructors sobrecarregados.
O meu compilador não,acho que no dela daria uma StackOverFlowException /* <— acho que ta errado o nome da exceção :roll: */
Qual possibilidade eu considero para a prova,erro de compilação ou de RunTime???[/quote]
Qual a versão do seu compilador? Tem certeza de que está compilando o código exatamente igual ao do livro?
Bom,ela afirma que alguns compiladores nao permitem e outros sim!!Ela fala que o dela permite!!
Um exemplo de recursaao…(voces sao tao bobinhos…,nao sou tao burrinha beiber!!)
class sunRise{
sunRise(){this(5);}
sunRise(int i){this();}
}
Sim,se o arquivo for compilado,na JVM vai rolar a Exceção…eu entendi a diferença.
Vou bolar a pergunta:
class t{
t(){this(5);}
t(int i){this();}
}
a)Exexuta sem problemas
b)Lança uma exceção
c)Erro de compilação
O problema é que tem compiladores que permitem recursão de constructors e alguns não!!
Para a prova,que questão seria a correta(enfim,uma boba assim nao estaria lá…se fosse até o Tiririca passaria 8) ,
vcs entenderam)
Questões bobas sempre aparecem em quaisquer tipos de exames, afinal, concentração também faz parte do jogo.
Considerando o que é bastante batido pela Sierra, bem, eu não me preocuparia com os compiladores, apenas com a execução.
Portanto, eu marcaria a opção B, lança uma exceção.
Mas no meu deu erro de compilação =/
No meu também…
O ponto é, se há uma possibilidade de não existir esse erro de compilação, cherry, eu o descartaria…
Muito obrigado,um beijo no fundo de suas costelas…onde ficava o coraação,minha linda caveirinha…
[quote=FacapeGirl]Bom,ela afirma que alguns compiladores nao permitem e outros sim!!Ela fala que o dela permite!!
Um exemplo de recursaao…(voces sao tao bobinhos…,nao sou tao burrinha beiber!!)
class sunRise{
sunRise(){this(5);}
sunRise(int i){this();}
}[/quote]
Você poderia me dizer qual a versão do seu compilador? Simples assim, sem ofensas ou mensagens subliminares machistas inclusas na minha pergunta. Só estou curioso e gostaria de realizar alguns testes.
Olha eu baixei recentemente pelo site da sun =P
Sou um tiquinho newbie em Java…
Desculpa se fui groça…eh que o pessoal aqui
no GUJ adora um pretexto pra tratar mal e etc…
Mas eu estou numa lan house…nao sei te informar qual eh =/
[quote=FacapeGirl]Olha eu baixei recentemente pelo site da sun =P
Sou um tiquinho newbie em Java…
Desculpa se fui groça…eh que o pessoal aqui
no GUJ adora um pretexto pra tratar mal e etc…
Mas eu estou numa lan house…nao sei te informar qual eh =/
[/quote]
Te entendo, isso acontece às vezes mesmo. Digita javac -version no terminal que ele te mostra a versão do compilador. java -version te dá a versão da jvm.
logo logo informo!!via message private