(不好意思:刚才没有写完,下面跟着):
如果我现在得到了一个DAO对象,那么能不能把这个DAO对象转化成USERDAO对象,然后再使用它的子类THISUSERDAO的对象中的方法呢?
这样的意思也就是说DAO其实是向外提供了一个访问的接口,而它的实现细节USERDAO和THISUSERDAO都隐藏起来了,是这样吗?我不明白这样的原理,麻烦给解释一下!
如果我现在得到了一个DAO对象,那么能不能把这个DAO对象转化成USERDAO对象,然后再使用它的子类THISUSERDAO的对象中的方法呢?
这样的意思也就是说DAO其实是向外提供了一个访问的接口,而它的实现细节USERDAO和THISUSERDAO都隐藏起来了,是这样吗?我不明白这样的原理,麻烦给解释一下!
解决方案 »
- 谁有《Java开发实战1200例(第Ⅱ卷)》的光盘
- 刚学完java基础,这段代码谁帮我答疑啊?
- 急!jtree 遍历
- 请教一道内存地址的问题
- 在java中如何调用sql的count出来的结果
- 怎么float型和double型的变量就显示两位呢??急急急
- 谁用过struts? 请教
- 请教各位高手初学Java如何下手 请推荐一本好书 谢谢:)
- 定义函数问题!!!!!!
- PreparedStatement插入数据时异常: 插入的值对于列过大
- 在线等待!网络编程起步....
- !!!!!!!!!!!超级简单的问题,送分了,up且解答者给高分!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
能把USERDAO对象转化成DAO对象
建议看类的继承那一章
USERDAO userdao=new USERDAO();
DAO dao=(DAO)userdao;
udao.get();就是说必须是UserDAO类型的对象才可以强制类型转换。to worldsea(浪子):
你的这个程序不是强制类型转换,不信你吧(DAO)去掉看看,不会报错的。
另外不能对接口new UserDAO()。
粗心了。
UserDAO ud=(UserDAO)dao;
但是一定要是UserDAO,谁说不可以new 一个接口,
new UserDAO(){
public void get(){}
};
"new UserDAO(){
public void get(){}
};"
这种东东确实不是new一个接口,而是申明/定义了一个实现此接口的inner class,只不过是匿名类,看来大家考完SCJP后就把基础都忘了,接口比 abstract class 还抽象,不可能被实例化。