Opção 5. Porque para sobrescrever um método o modificador de acesso não pode ser mais restritivo, mas pode ser mais abrangente, logo pode ser public opção 5.
Olá pessoal
A alternativa que responde a pergunta feita é a 5 (cinco)
Por definição da jpc o atributo ou método que não for especificado o acesso será considerado
público…
Resposta: 5. Mas só resta saber se ele ta implementando o método da interface ou da classe.
Na minha opnião ta implementando o metodo da classe abstrata que a primeira classe concreta que herdar da classe abstrata tem que implementar o método.
[quote=anderson.bonavides]Resposta: 5. Mas só resta saber se ele ta implementando o método da interface ou da classe.
Na minha opnião ta implementando o metodo da classe abstrata que a primeira classe concreta que herdar da classe abstrata tem que implementar o método.
Alguêm mais discorda ou concorda?[/quote]
cara eu ja penso que é da inteface pois se vc colocar
como protected void x (){} nao aceita me parece que o modificador de acesso da inteface por ser publico implicitamente pesa mais.
Mas realmente nao aposterei mais que 10 reais,fiquei na dúvida…
[quote=anderson.bonavides]Resposta: 5. Mas só resta saber se ele ta implementando o método da interface ou da classe.
Na minha opnião ta implementando o metodo da classe abstrata que a primeira classe concreta que herdar da classe abstrata tem que implementar o método.
Alguêm mais discorda ou concorda?[/quote]
Vejo da seguinte forma
Quando na Classe C extendemos B e implementamos A, estamos dizendo que deve existir a declaração do método “x”, ou seja a declaração do método “x” na Classe C resolve o extends e o implements.
[quote=carlospia][quote=anderson.bonavides]Resposta: 5. Mas só resta saber se ele ta implementando o método da interface ou da classe.
Na minha opnião ta implementando o metodo da classe abstrata que a primeira classe concreta que herdar da classe abstrata tem que implementar o método.
Alguêm mais discorda ou concorda?[/quote]
Vejo da seguinte forma
Quando na Classe C extendemos B e implementamos A, estamos dizendo que deve existir a declaração do método “x”, ou seja a declaração do método “x” na Classe C resolve o extends e o implements.
Certo :?: [/quote]
Certissimo. Mas a discurção levantada por mim não é essa. A discurção levantada por mim é saber se o método vem da interface ou da classe. Essa é a grande sacada. Mas não deixa dúvida que o problema está resolvido.
atributo ou método que não for especificado o acesso será considerado
público…
flwsss…
at+[/quote]
Cara vc está precisando rever uns conceitos mais que básicos… me diz uma coisa: se minha classe tiver em outro pacote acessando um atributo PADRÃO (esté é o acesso quando não se especifica nada :!: ) ela vai conseguir :?: :?: :?:
[quote=anderson.bonavides ]Olá pessoal
Certissimo. Mas a discurção levantada por mim não é essa. A discurção levantada por mim é saber se o método vem da interface ou da classe. Essa é a grande sacada. Mas não deixa dúvida que o problema está resolvido.
flwsss…
at+[/quote]
Cara minha opinião que é da classe abstrata, na ordem da declaração primeiro extends depois vem o implements…
mas se alguém puder esclarecer melhor a resposta certa desta dúvida…
por causa da simples regra que quando o metodo é subscrito ele nao pode ser menos restritivo que o metodo da superclasse… e na o void x(); ele é public… implicitamente na interface.
Pois se tu tiver que implementar os métodos da classe abstrata, obrigatóriamente teria que ser DEFAULT e ai tu não iria implementar a interface pois não permitiria métodos mais restritos (método interface PUBLIC), ai com certeza NÃO COMPILARIA!
O correto realmente seria a opção 5, o método satisfaria o acesso de ambos !
[quote=LPJava]5) por causa da simples regra que quando o metodo é subscrito ele nao pode ser menos restritivo que o metodo da superclasse… e na o void x(); ele é public… implicitamente na interface.
flw![/quote]
Já pensou pelo sentido de que a primeira classe concreta que herda de uma classe abstrata deve implementar seu método abstrato?
Essa realmente está fods de chegar num veredicto… Vejamos bem… você colocar o método public responde a questão… mas alguém tentou colocá-lo mais restritivo ?? o Compilador vai fazer a verificação do prioritário primeiro… o erro vai acusar se quem tem mais prioridade é a Abstract class ou a Interface… Não sei se vai colar, mas na teoria é pra dar certo…