请教各位大家:我在自学JDBC这部分 书上说Connection conn = DriverManager.getConnection();
创建一个Connection的对象,Statement stat = conn.createStatement();创建一个Statement对象,
但是我查询了JAVA API帮助文档,Connection ,Statement明明是接口吗?再者DriverManager.getConnection();怎末是创建对象呢??郁闷....

解决方案 »

  1.   

    sun只是制定了一个标准(你上面说的接口),具体实现由数据库厂商提供。
    所以你看到不同的数据库有不同的jdbc driver。JDBC<-->DB2 JDBC<-->DB2 Server
         ==========
         
    Statement stat = conn.createStatement();
    就是:
    接口A a = 实现接口A的实例
      

  2.   

    通过DriverManager.getConnection()方法可以得到一个Connection的实例,这是有具体的数据库厂商提供的JDBC jar包实现的,在得到这个具体的Connection实例后,就可以调用他的方法,创建一系列可用的其他对象。这里使用的面向接口编程的方法。当然,如果你愿意,完全可以把Connection,Statement换成具体的实现类,但是这样不利于移植。