我用jad反编译了DriverManager源代码,发现他的调用流程是这样的:
DriverManager类中的getConnection方法调用的是DriverInfo中的connect方法.如下:
DriverInfo driverinfo;
Connection connection = driverinfo.driver.connect(s, properties);
connect是Driver接口中的方法.按ctrl+t 发现调用的是JdbcOdbcDriver类的connect方法.
JdbcOdbcConnection jdbcodbcconnection = new JdbcOdbcConnection(OdbcApi, hEnv, this);最终返回的也是这个类的对象,而这个类继承的JdbcOdbcObject,实现的JdbcOdbcConnectionInterface接口.如下:
public class JdbcOdbcConnection extends JdbcOdbcObject
implements JdbcOdbcConnectionInterface
这个接口继承的是Connection接口,如下:
public interface JdbcOdbcConnectionInterface
extends Connection
所以返回到最初调用处.用Connection接口来接收.
关了在开可以。