interface的疑惑!
看了一些关于abstract class 和 interface的帖子
我对interface有如下理解:
在class className implements interfaceName{}
中必须全部重载 interface interfaceName{}的方法
interface 中只能拥有 static final 定义的属性
拥有的方法全是no-op方法
但是在看API中发现理解得不对
比如java.sql中有ResultSet接口
public interface ResultSet
但是她下面也有好多具体的方法可用
如:ResultSet.next()
我就有点不理解了
谢谢大虾们给点意思!!
问题点数:20、回复次数:8Top
1 楼foxty(狐狸糊涂)回复于 2006-08-01 08:38:32 得分 3
虽然你用的是接口,但是还是有具体的实现类,只是对你来说隐藏了而已。Top
2 楼iouzhui(从来不改变)回复于 2006-08-01 08:43:34 得分 0
能举个例子说明一下吗
比如她是怎么实现的!
谢谢Top
3 楼xuyang821225(CSDN账号)回复于 2006-08-01 08:47:30 得分 3
这个是具体的数据库厂商做的Top
4 楼iouzhui(从来不改变)回复于 2006-08-01 08:50:03 得分 0
那么我对interface理解
有什么不对的,再如有什么没理解的
能帮忙补充一下吗?!Top
5 楼oscar_java(2007Y, CSDN is my starting...)回复于 2006-08-01 08:55:44 得分 3
upTop
6 楼dreamover(梦醒了〖http://hellfire.cn〗)回复于 2006-08-01 09:01:41 得分 5
“java.sql”里面只是一些用接口定义的jdbc规范,具体实现在各数据库厂商提供jdbc驱动里面
比如hsqldb里面就有一个类
package org.hsqldb.jdbc;
public class jdbcResultSet implements ResultSet{
//里面实现了ResultSet接口定义的方法
}
调用的时候实际上是生成了一个jdbcResultSet的实例
ResultSet rs = stmt.executeQuery("select * from table1");
在executeQuery()方法里大致是这样
{
ResultSet rs = new org.hsqldb.jdbc.jdbcResultSet();
//为rs设置一些内容
return rs;
}
不知道这么说,能明白么
Top
7 楼jobs002(Oh! Office)回复于 2006-08-01 09:09:48 得分 3
Resultset已经进行了抽象,调用的方法也是实现类的方法.Top
8 楼gherb(红河爱红毒)回复于 2006-08-01 10:50:24 得分 3
用这个ResultSet写一段代码,并测试通过你就清楚了。
再找一下有关多态的资料就记住了Top




