为什么接口明明没有方法体,但是还有方法描述? RT,明明接口里面只有方法的声明,没有具体的方法体内容,需要具体的实现类来实现接口的方法,那为什么接口的方法却有一大段的描述文档,就好像已经知道了方法体一样? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 咋说呢,我有个接口,里面有个方法是这个kdjaflkjdsalk,这个方法你准备怎么实现? Java是一门面向对象的静态单分派语言,Java使用的是契约式设计,所以接口本身就是契约的描述,而实现者通过实现接口契约完成功能,调用者只要关注接口类型提供的方法签名就能找到一个正确的实现者。举个例子:使用spring框架,大家都知道要实现一个叫做ApplicationContextAware的接口,那么只要从spring容器中获取该接口的一个引用就可以获得ApplicationContext对象。而spring容器就是根据ApplicationContextAware接口类型来实现发现并进行注册。在比如jpa提供一个基本的接口,那么你就可以定义个业务接口进行继承,然后容器类库会动态组装一个接口的实现。你不需要关注他的实现方式,你要的是结果。那么接口声明的模式就可以解耦实现和调用。所以接口的说明就是契约式设计的核心。这和动态语言的能力式设计是不同的。 java所有程序员都可能犯错误的一道题!!! 自学JAVA麻烦各位推荐教程 谁能解惑? 我想实现如下功能,请问用java怎么实现? 帮小弟一个忙:这个程序有什么问题 .net 做的系统可以修改成 java的吗????????? 下载一些第三方函数包后,应该怎样调用 ----如何将子frame中的文本添加到父frame中的JTextPane中----- 任何使窗口居中显示。 含包名的javaBean应该怎么配置 新手小白 关于使用数组编写的超市程序(大佬救救萌新吧TAT)
调用者只要关注接口类型提供的方法签名就能找到一个正确的实现者。
举个例子:使用spring框架,大家都知道要实现一个叫做ApplicationContextAware的接口,那么只要从spring容器中获取该接口的一个引用就可以获得ApplicationContext对象。而spring容器就是根据ApplicationContextAware接口类型来实现发现并进行注册。
在比如jpa提供一个基本的接口,那么你就可以定义个业务接口进行继承,然后容器类库会动态组装一个接口的实现。你不需要关注他的实现方式,你要的是结果。那么接口声明的模式就可以解耦实现和调用。
所以接口的说明就是契约式设计的核心。这和动态语言的能力式设计是不同的。