Galera, tenho a seguinte dúvida no simples código abaixo, o qual eu entendo como funciona, mais quando olhei a API fiquei confuso:
import java.sql.*;
public class Conectar{
public Conectar(){
try{
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
Connection con = DriverManager.getConnection("jdbc:odbc:DataBase","","");
}
catch(ClassNotFoundException cnf){
System.out.println("Classe não encontrada");
}
}
}
Pronto, agora minha dúvida é: Andei olhando a API do pacote java.sql, e vi que Connection é uma interface. No meu modesto conhecimento, eu achava que as interfaces eram feitas para serem implementadas pelas classes. Mas no código acima que abre uma conexão com o BD, eu estou declarando a variável con, que é de referência do tipo da interface Connection, e atribuo a ela uma conexão.
Agora vem realmente a dúvida: Seria correto eu dizer que a variável con
faz referência a um objeto de conexão, que implementa a interface Connection ? E se qualquer objeto que implemente a interface Connection do pacote java.sql poderia ser atribuida a variavel de referencia con ?
Galera, não consegui nem durmir essa noite por causa disso…me ajudem.
Aguardo retorno…