恐怕不是你想象的这样(不过conn.createStatement()确实是应用多态的,不过这个在这里根本不是主要的,因为JAVA语言机制直接支持多态所以任何方法都可能是多态的也都可以说是多态的。)。解释起来好麻烦。
我建议你看看JDK API,其实我估计你还需要学很多周边的知识才能很好的理解。
public interface StatementThe object used for executing a static SQL statement and returning the results it produces. By default, only one ResultSet object per Statement object can be open at the same time. Therefore, if the reading of one ResultSet object is interleaved with the reading of another, each must have been generated by different Statement objects. All execution methods in the Statement interface implicitly close a statment's current ResultSet object if an open one exists. connection的API的说明内容相对多就不贴。

解决方案 »

  1.   

    看一看jdbc3.0specification 吧
      

  2.   

    Connection conn = pool.getConnection();
    Statement stmt = conn.createStatement();
    的初始化用到工厂模式了吗?
    我是初学者,如果说错了请勿见笑。谢谢!
      

  3.   

    Connection Statement 是JDBC连接数据库的两个接口。就和ODBC一样。
    接口当然是多态的了。其实只是多态的一种表现。可能你接触的还用了连接池技术。共同努力啊!
      

  4.   

    to 楼主: 我也不明白为什么非要另外有个statement不可
      

  5.   

    瞥开 一切底层不讲。 先看看jdbc的模式一个Connection 是由于通过DriverManager得到。 而Connection代表了一个事务(可能我这样讲不是非常确切,但你可以这样理解)commit,abort,rollback等等。。而要想使用Connection 开始处理(也就是事务,默认是的是commit()),就要通过三个接口实现 Statement ,PreparedStatement,CallableStatement..分别通过Statment,PreparedStatement,CallableStatement 执行 excuteQuery(),executeUpdate()。 就对食物进行了处理(当然是指SQL语句)对于结果,可以通过ResultSet获得得到对ResultSet进行遍利 。通过getXXX() 也就是jdbc定义的那些方法。。得到数据。而setXXX() 是用语中途PreparedStatement,CallableStatement 进行赋值的操作。。
      

  6.   

    这些都是不必须的。。但作为一个写的很好的类。。必须遵循一些模式。你当然可以把Connection   statement, excuteQuery 写在一个。代码的复用思想,设计模式是一定要去理解的。
      

  7.   

    今天看了一本书,叫:ORACLE9I JAVA编程
    (书名可能不是很正确),是红皮,相同系列出一堆的那套的。
    有关于JDBC的一些讨论,可以看看。
      

  8.   

    JDBC 使用的是适配器模式。。光从字面解释这个模式就是,通过应用选择JDBC选则不同的数据库连接
    其中JDBC/ODBC就是一个适配器的应用。当然这些不是很容易讲清楚了。阎宏的设计模式里也在适配器模式中提到过jdb。感兴趣的可以去看看:)