tinguo002
2018-06-01 15:37:07
等
为什么java定义对象的一组操作使用的是接口,而不是类
为什么定义对象的一组操作使用的是接口,而不是类
或者这样讲,为什么User.java的操作集合定义在 public interface IUserService{} 中,可以定义在 public class UserService{}中么?
我本人在面向对象的设计过程中,操作也都是定义在接口中,但是突然发现这个问题我并不能向别人表述清晰。
也许大家会说,接口有多个实现类,根据不同的需求指定不同的实现类,程序更容易扩展。但这并不能说服我,原因如下,
接口可以有多个实现类,但是接口实例化的时候需要指定具体实现类。
UserService也有多个并行的类,在不同的需求时,选择不同的类,效果也一样。
评论
所有回答列表(6)
heyufei_007 LV3
2018年6月8日
接口可以定义一套规范,所有的实现类按照这套规范添加方法,编译时使用接口定义变量,并调用接口,不用考虑具体怎么实现,运行时选择实际的实现类对象进行执行,这样想要切换实现类时客户代码不用修改只需更换实现类即可。面向接口编程,降低耦合。例如JDBC编程和日志框架都是这种原理,一家之言欢迎讨论...
- 等 最代码怎么获取牛币啊?
- 完 谁来告诉我最代码上线的时间,答对者给5牛币,先来先得
- 等 牛友们,大家好,你们做程序员多久了?现在还好吗?
- 完 在微信打开的页面里进行app下载
- 等 最代码2014年欢乐聚声会
- 完 mysql如何查询表数据并且对3个字段降序的SQL?
- 完 最代码牛币机制改革
- 完 成功的在bae上使用了自定义运行环境 jetty+nginx的组合,大家对jetty+nginx优化有哪些心得?
- 完 进来分享一下各位牛牛是如何加入最代码大家庭的?
- 等 为什么java BufferedImage类处理大图直接抛出内存溢出的异常?
- 等 最代码是否开发手机app客户端?
- 完 java程序员学习哪些java的技术?java有哪些框架?都能做哪方面的开发?
- 等 php格式网页文件怎么运行?
- 等 Java volatile值获取的问题
- 等 前端vue,拦截了登录后台后,返回的token,requests拦截token,但是发送请求的时候,就出现跨越异常
- 等 大专本科计算机科班怎么找到Java工作?
- 等 eclipse怎么把三个java swing游戏项目合成一个项目?
- 完 伙伴们,大家都有什么好的解压方式么,分享一下~
- 完 三四线城市,6、7k,运维工作,索然无味,想去辞职上培训,各位牛牛有什么建议嘛
- 等 jsp页面输入中文变成问号
- 等 JPA在线上运行一段时间后报错Caused by: java.lang.IncompatibleClassChangeError: null
- 等 PHP 这个规则用preg_match_all怎么写
- 等 大佬们,有没有知道Alfresco如何配置LDAP登录呢?
- 等 php的install目录是框架带的吗?
相关问答
最近浏览
kashenlz
2022年3月27日
暂无贡献等级
咸鱼想扣6
2019年7月1日
暂无贡献等级
lelelada LV8
2019年6月27日
pasite LV1
2019年5月27日
嘻嘻哈哈希 LV3
2019年4月8日
j263490688 LV2
2018年9月28日
骆宇天 LV7
2018年9月20日
tinguo002 LV6
2018年9月10日
指尖游戏 LV5
2018年8月13日
qq893289894
2018年7月27日
暂无贡献等级