mas pra mim teria que dar erro de compilacao uma vez que em metodos overridden esses métodos novos nao poderao lancar excecoes novas ou mais abrangentes…
Você está overridden o metodo test() … e não está lançando novas exceções e também não está lançando exceção mais abrangente… nesse caso seu metodo não lança exceção…
Então está certo o codigo.
B
BrunoCarloPJ
Ola
Pode crer que tá certo… se houver erro é no “abstract” da interface, mas não me lembro se altera colocar este modificador, pois uma interface já é abstract…
C
CassolatoPJ
“BrunoCarlo”:
Ola
Pode crer que tá certo… se houver erro é no “abstract” da interface, mas não me lembro se altera colocar este modificador, pois uma interface já é abstract…
Todas da interfaces ja sao abstract, e colocar ou nao o abstract na declaracao dela nao faz nenhuma diferenca.
B
BrunoCarloPJ
“Cassolato”:
“BrunoCarlo”:
Ola
Pode crer que tá certo… se houver erro é no “abstract” da interface, mas não me lembro se altera colocar este modificador, pois uma interface já é abstract…
Todas da interfaces ja sao abstract, e colocar ou nao o abstract na declaracao dela nao faz nenhuma diferenca.
Pois é… disto eu sei… não sei se isto pode gerar algum erro de compilação… sei lá, o compilador implicar com isto…
D
donatinhoPJ
Valeu pela resposta!!!
C
CassolatoPJ
“BrunoCarlo”:
“Cassolato”:
“BrunoCarlo”:
Ola
Pode crer que tá certo… se houver erro é no “abstract” da interface, mas não me lembro se altera colocar este modificador, pois uma interface já é abstract…
Todas da interfaces ja sao abstract, e colocar ou nao o abstract na declaracao dela nao faz nenhuma diferenca.
Pois é… disto eu sei… não sei se isto pode gerar algum erro de compilação… sei lá, o compilador implicar com isto…
Ele não gera não.
B
BrunoCarloPJ
“Cassolato”:
“BrunoCarlo”:
“Cassolato”:
“BrunoCarlo”:
Ola
Pode crer que tá certo… se houver erro é no “abstract” da interface, mas não me lembro se altera colocar este modificador, pois uma interface já é abstract…
Todas da interfaces ja sao abstract, e colocar ou nao o abstract na declaracao dela nao faz nenhuma diferenca.
Pois é… disto eu sei… não sei se isto pode gerar algum erro de compilação… sei lá, o compilador implicar com isto…
Ele não gera não.
Interessante… tae uma coisa que nunca tentei fazer… mas bom saber.
D
DeyvidDuckPJ
Permitam-me apenas organizar as idéias postadas aqui e acrescentar algo :grin:
Sobre interfaces
1) Compilação sem erro ou warining
2) Métodos sobrescritos não podem lancar exceções novas ou mais
abrangentes. No caso do código acima, não está sendo lançado
novas exceções ou exceções mais abrangentes. Apenas não lança
exceção.
3) Toda a interface é abstract por natureza ao colocar abstract
como é o caso da interface acima, não gera erro ou warining
e executa normalmente.
4) interfaces geram arquivos .class
5) Caso a classe não possa definir os métodos da interface, a mesmo deve ser declarada como abstract
interfaceTesteInterface{voidteste();}abstractclassTesteAbstractimplementsTesteInterface{publicstaticvoidmain(String[]args){System.out.println("TesteAbstract");}// fim do método main}// fim da classe TesteAbstract