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]
-------------------------------------------------------------------------

Responder a