1:publicclassteste{2:staticpublicvoidmain(String[]args){3:interA=newteste().newinner();4:A.metodoInterface();5:innerB=(inner)A;6:B.metodo();7:}8:classinnerimplementsinter{9:publicvoidmetodo(){10:System.out.println("METODO INNER ");11:}12:voidmetodoInterface(){13:System.out.println("METODO DA INTERFACE");14:}15:}16:}17:18:interfaceinter{19:voidmetodoInterface();20:}
Os métodos na interface são públicos por default. Aí você está tentando diminuir a visibilidade para default.
Mas afora isso, o resultado é o esperado. Imprime as mensagens.
(Ah só descobri esse erro de visibilidade quando compilei mesmo. Já que não fazia parte das respostas eheheh. Atenção, atenção, preciso de mais atenção)
duardor
hehehe elvis fazia sim
na linha 8 ueh
o erro que o javac dah eh na linha 8
tah na resposta
eu tb nao intendi bem…
mesmo que vc deixe a visibilidade como default na declaracao da interface o codigo nao compila… mais certo seria o compilador dizer que o metodo da interface deve ser publico…
Abraços
Elvis.The.Pelvis
Não não. Aki rodou blz, tirando o problema da linha 12 de visibilidade. UXE!!! Tamo falando a mesma língua???
AHHHH compilei no eclipse. Em vez de dar output da compilação ele mostra aquelas task error.
Cara não consigo viver sem o output do compilador.
Essa pegadinha é sacana!!!
Elvis.The.Pelvis
ENTRETANTO,
ë muito difícil você ver esse tipo de coisa na prova de certificação. Eles não usam esses artifícios para “ludibriar” programador. Nessa questão você é levado a entender que é uma questão de inner classes e cast, mas é de um detalhe bem mais específico.
Num simulado já ví algo do tipo
publicclassAlgo{publicStringdo(intx){//Itera entre uma porrada de array, monta umas strings malucas//Faz mais algumas coisas complexas com ?:}Stringresult="Java"+do(2);for(condiçãoescabrosa){result+=do(x);}System.out.println(result);}
Perguntava qual o resultado de se tentar compilar e executar a classe.
1 - Imprime <String sem sentido>
2 - Lança uma exceção
3 - Dá erro de compilação
.
.
.
Cara, do é palavra reservada. Você não pode declarar um método com esse nome. E você achando que era uma questão de flow control.
Eles não fazem isso nas provas.
duardor
Hhehehhe
eu gosto muito do eclipse tb mas eu to estudando pra prova e lah tem umas questao q pede o q o compilador dah de saida… dai e no javac mesmo…
hhehe
valew
Abraços
duardor
Nao tem desse tipo de questao nao?
eu vi alguns simulados com questoes bem parecidas…
me corrija ai se tiver errado
Elvis.The.Pelvis
Não. Nada dessas pegadinhas. Só testando seus conhecimentos no assunto mesmo. Pelo menos nas provas minh e de mais 5 amigos nada disso caiu.
E segundo o Complete Java2 Certification Study Guide os elaboradores da prova tentam fazer certeza que a questão seja bem entendida e sem “cascas de banana”.