帮助文档中的代码如下:
Statement stmt = con.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery("SELECT a, b FROM TABLE2");
rs.getInt(1);//这一行是我自己加的,getInt()这个方法是ResultSet接口的我的疑问:rs是这个接口的对象吗?是的话,那接口不就可以产生对象了?
Statement stmt = con.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery("SELECT a, b FROM TABLE2");
rs.getInt(1);//这一行是我自己加的,getInt()这个方法是ResultSet接口的我的疑问:rs是这个接口的对象吗?是的话,那接口不就可以产生对象了?
解决方案 »
- 序列化或反序列化时,需要readObject(ObjectInputStream stream)和writeObject???
- 请教读取文件路径问题!!!!!
- 下载了一个java贪吃蛇程序如何改包的名字
- 请教高手,绝对高手,在线等待恢复
- 中文输入法没有提示框怎么办?
- JAVA调用系统命令的困惑!
- 高手请进,送50分;诚心请教关于打开URLConnection对象超时的问题??
- 大家看看,这个网页上,当单击职位查询的地点时,就会出现一个像层的引导项目,感觉挺人性化的,可是怎么做的呢?大家谁知道
- 为什么设计时的界面和运行时的不一样啊?
- 为何Applet小程序运行时结果和调试时不一致?急!急!急!!
- J2EE完蛋了!
- JS怎么调用JAVA类里面的方法。。在线 急等。。马上给分。。
用接口生成的对象,它的方法执行体还是类的方法:如:
interface A{
getInt()
}
class B implements A{
int i;
getInt(){
return i;
}
}
那么,以工厂模式的原理,我们可以这样用
A a=new B();
此处的a只有getInt()方法可以用,调不了i,当然,a.getInt()实际上执行的是B.getInt()。
这样用主要是在多层系统中处理安全的问题以及通过一个interface生成多种对象的问题(工厂模式)
刚才的例子还可以这样用:
interface A{
getInt()
}
class B implements A{
int i;
getInt(){
return i;
}
}A a=new B();
B b=(B)a;
b.i的调用;
b.getInt();
明白了吗?
如同ResultSet rs = stmt.executeQuery("SELECT a, b FROM TABLE2"),rs是ResultSet的对象吗?
我们应该这样说:
a是用A封装了的B的对象
反正,这只是一种封装技术,,用多了,就明白了!呵呵