- use UsoTeste.this.metodo(0); que funciona. Como você disse, o método não está na classe que está o "chamando".
| ---------------------------------------- | | Marcelo Barbosa Alves (sourbox - xfer) | | [EMAIL PROTECTED] - ICQ : 4311482 | | ---------------------------------------- | | .: sourbox - xfer :. | | ---------------------------------------- | ----- Original Message ----- From: "Elvis Tanajura Vaz" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Monday, April 29, 2002 12:10 PM Subject: [java-list] Jdk1.3.1 + bug?? + interface | Não sei se isso é realmente um Bug, alguem poderia me | esplicar melhor. | | Quando implemento uma interface em uma classe e | sobrecarrego o método da interface não acontece nenhum | tipo de erro (Exemplo 1)... | | Mas, quando implemento a interface em uma classe | interna(Exemplo 2) ou instancio como classe | anônima(Exemplo 3) o compilador me retorna um erro que | nao pode encontrar o método. Método esse que esta na | classe principal(UsoTeste) | | TesteListener.java:58: metodo() in cannot be applied | to (int) | metodo(0); | ^ | | Mas, se eu alterar a assinatura do método | funciona(metodo(int) --> | metodo_nao_sobrecarregado(int) )!! | | | | | Aguardo comentários.... | | | Elvis Tanajura Vaz | | | _______________________________________________________________________ | Yahoo! Encontros | O lugar certo para você encontrar aquela pessoa que falta na sua vida. Cadastre-se hoje mesmo! | http://br.encontros.yahoo.com/ ---------------------------------------------------------------------------- ---- | interface TesteListener{ | public void metodo(); | } | class Teste{ | TesteListener t; | public Teste(TesteListener t){ | this.t = t; | } | public void chamarListener(){ | t.metodo(); | } | } | // Teste com implementacao | /*class UsoTeste implements TesteListener{ | public Teste te; | public UsoTeste(){ | te = new Teste(this); | te.chamarListener(); | } | public void metodo(){ | System.out.println("Chamou o metodo"); | metodo(0); | } | public void metodo(int i){ | System.out.println("Chamou o metodo com parametro"); | } | }*/ | | // Teste com classe interna | class UsoTeste{ | public Teste te; | public UsoTeste(){ | te = new Teste(new Interna()); | te.chamarListener(); | } | public void metodo(int i){ | System.out.println("Chamou o metodo com parametro"); | } | public void metodo_nao_sobrecarregado(int i){ | System.out.println("Chamou o metodo nao sobrecarregado"); | } | class Interna implements TesteListener{ | public void metodo(){ | System.out.println("Chamou o metodo"); | metodo_nao_sobrecarregado(0) | metodo(0); | } | } | } | // Teste com classe anonima | /* | class UsoTeste{ | public Teste te; | public UsoTeste(){ | te = new Teste(new TesteListener(){ | public void metodo(){ | System.out.println("Chamou o metodo"); | metodo(0); | } | }); | te.chamarListener(); | } | public void metodo(int i){ | System.out.println("Chamou o metodo com parametro"); | } | } | */ | ---------------------------------------------------------------------------- ---- ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] ------------------------------------------------------------------------- ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------