浏览 3258 次
锁定老帖子 主题:没有方法的接口
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-03-31
public interface DAOFactory { } public class XXDaoFactory implements DAOFactory{ //====================== } 疑惑:DAOFactory 中没有任何方法,这样做的意义在哪里呢,如果说多态的话,也应该有方法啊,要不怎么调用呢? 没有任何方法的接口的意义在哪里? 难道是传说中的标识性接口? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-03-31
java api 中序列化接口 就是这样一个接口,
"public interface Serializable类通过实现 java.io.Serializable 接口以启用其序列化功能。 意义: 未实现此接口的类将无法使其任何状态序列化或反序列化。可序列化类的所有子类型本身都是可序列化的。序列化接口没有方法或字段,仅用于标识可序列化的语义" 实际运用当中,好象比较少声明一个语义级别的接口吧?但用设计模式的时候好象看多有的! 呵呵 |
|
返回顶楼 | |
发表时间:2008-03-31
我们就是实际上用的,就是不明白为什么要这么用,要是他在这里是这么用的,那么他如何像使用Serializable 接口那样一样使用呢?
是用instanceof 吗,为什么要判断呢? |
|
返回顶楼 | |
发表时间:2008-03-31
Serializable 接口在java api中可能是一种语义处理,就是说只有实现了这个接口才具能序列化 语法规定?呵呵 就象我们在用aop的时候 , 以creat save开头的认为是保存操作,有对应的事物管理!
实际中用,可以能是为了标志一类操作,我看你的代码,是个工厂,我猜可能表示所有实现这个接口的就是dao层的操作,还有就是可能,先声明一个总的接口,然后多个接口去扩展这个接口,表示多个接口是统一一个接口的扩展! 说到底还是标志作用! 我们原来做过一个项目,提倡针对接口编程,接口反映的是一类业务逻辑,暴露出来,或者说看到接口就大概知道业务逻辑,至于实现是在接口的实现类里的,从这个延伸,声明一个接口里面没有方法,就不是一个业务逻辑的体现,只能解释为是一种标志性的作用,可能作为是一种管理性的声明! 呵呵 这是我的理解,! |
|
返回顶楼 | |
发表时间:2008-03-31
用于标志的接口。以后可能大家会比较喜欢用annotation来替代这样的接口。
|
|
返回顶楼 | |
发表时间:2008-03-31
标识接口 一般是用instanceof 判断
可以对实现此接口的class做某些有意义的处理 |
|
返回顶楼 | |
发表时间:2008-03-31
不仅仅是这个工厂,其他的也有这样写的
public class LeaderDaoImpl implements LeaderDao public interface LeaderDao extends FDBaseDao public interface FDBaseDao extends FDDao public interface FDDao 最后这个sgDao是空方法的。 注意:这次我发的public interface FDBaseDao extends FDDao 为什么又是集成呢,怎么不是实现??? 这种标识性接口是要实现还是继承??? |
|
返回顶楼 | |
发表时间:2008-03-31
我问了个 错误的问题,刚才我发的是接口和接口之间当然是继承了,呵呵,发错了。
|
|
返回顶楼 | |