日期:2014-05-20  浏览次数:20778 次

关于接口中方法的疑问
新手最近在看JDBC这块,发现在操作操作数据库时,可以用Connection接口中的createStatement()方法实例化一个Statement对象,再用这个对象调用execute()方法执行sql命令。这里就产生了一个疑问,接口中的方法都是抽象的,即没有方法体,那么createStatement()和execute()这两个方法到底是怎么执行的?怎么就能产生出结果?另,接口对象的实例化必须由实现接口的具体类中的构造方法实现,这里怎么能用一个接口中的方法实例化另一个接口的对象?请高手赐教。

------解决方案--------------------
引用:
新手最近在看JDBC这块,发现在操作操作数据库时,可以用Connection接口中的createStatement()方法实例化一个Statement对象,再用这个对象调用execute()方法执行sql命令。这里就产生了一个疑问,接口中的方法都是抽象的,即没有方法体,那么createStatement()和execute()这两个方法到底是怎么执行的?怎么就能产生出结果……

楼主可以仔细想想,JDBC编程的时候不是要用的驱动jar包吗?
楼主可以把那个jar解压了看看
知道了吧,每个数据库的厂商都按照jdk操作数据库的接口提供了
自己的实现,也就是实际的驱动jar
Class.forName......
只是通过jdk的接口进行回调而已
------解决方案--------------------
也就是说针对数据库的操作,各个厂商是给我们封装好了的
我们只是使用jdk提供的接口进行一个回调而已