Leandro, Essa visão sobre interfaces está correta, ela não permite implementações. Porém, nada impede a uma classe, com visibilidade para essa interface, de acessar e implementar os seus métodos. Bom, no momento em que vc está usando JDBC, não é necessário se preocupar com essas coisas, por que o próprio método getConnection, da classe DriverManager, se encarrega de "preencher" os nossos métodos de interface. E como o "preenchimento" desses método depende tão somente do banco de dados para o qual nós vamos criar as nossas sentenças SQL, isso deve ser avaliado em tempo de execução. O método getConnection vai buscar na memória o driver JDBC mais adequado para a conexão que você está fazendo. Talvez algum driver tenha sido carregado inadequadamente, ou não haja espaço na memória para isso, e o getConnection deve se virar para encontrar o driver mais adequado, e que funcione. Essa busca na memória vai revelar ao seu programa como devem ser implementados os métodos de acesso ao banco de dados, qualquer que seja ele. E seria mais lógico fazer essa pesquisa no momento em que o programa estivesse executando. Bom, esse "código" que o método getConnection busca deve conter classes padrão para implementar as interfaces Statement, ResultSet, PreparedStatement, etc., incluindo nos métodos dessas classes códigos próprios para o acesso a bancos de dados específicos. A título de comparação, algo semelhante ocorre com o AWT: nesse pacote, temos diversas interfaces, as quais nós podemos sobrecarregar os métodos que ela disponibiliza, ou não, conforme as necessidades do nosso programa. A interface WindowAdapter, por exemplo, tem um método chamado windowClosing, no qual nós especificamos a ação que deve ser executada caso o evento associado ao pressionamento do botão de fechar (no Windows, localizado na parte superior direita...) tenha sido ativado. No momento em que o botão é efetivamente pressionado, um thread da máquina virtual chama esse método, que logicamente é dependente do sistema operacional, uma vez que cada sistema tem a sua arquitetura própria de janelas. Quando eu estava aprendendo AWT, curioso como sempre fui, ficava intrigado em saber como esses eventos eram processados, até que alguém mais experiente me falou uma vez como os eventos do sistema eram processados. Foram exemplos de escopos diferentes, mas que ilustram bem que pode haver sempre algo não presumível atuando nos bastidores... :)))
Rosfran Lins Borges Analista de Sistemas - NDS [EMAIL PROTECTED] Fóton® Informática e Serviços Fone: (61) 328 5060 R.: 204 ----- Original Message ----- From: "Leandro Franchi" <[EMAIL PROTECTED]> To: "Java-List" <[EMAIL PROTECTED]> Sent: Tuesday, April 23, 2002 3:27 PM Subject: [java-list] Trabalhando com Interfaces... > Olá caros amigos do Java-List, > > Estamos com uma dúvida muito cruel, simplesmente não entendemos como > podemos utilizar uma interface do mesmo modo que utilizamos a interface > Resultset... por exemplo: > > Resultset rs = db.executeQuery("SELECT * FROM FUNCIONARIOS"); > > while (rs.next()) > System.out.println(rs.getString("NOME")); > > rs.close(); > > Analisando o código acima, supomos que o rs é um objeto do tipo Resultset, > e que next(), getString() e close() são métodos pertencentes ao objeto > Resultset criado como rs. Porém, Resultset é uma interface, e não uma > classe, assim, ela não tem corpo dos metodos e sim só as assinaturas deles, > e ai vem nossa dúvida... como eles executam ??? Onde estão os corpos dos > metodos ??? > > > Grato > > Leandro Franchi > > > ------------------------------ 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] -------------------------------------------------------------------------