java中的接口有什么用呀

天文学 2011-11-20 03:17:16
java中定义接口去实现多继承,但是接口中全是虚函数,还有在继承的类中实现,那么直接在类中定义接口中的函数并实现不是更方便吗?望高手解答疑惑。
...全文
180 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Star_2222 2011-11-20
  • 打赏
  • 举报
回复
举个例子吧!
类A 中有个 star方法
类B中也有 !
你就可以写个接口 中有star方法 然后AB都去实现这个接口 !
按 楼主的说法却要写两遍这个方法!
可以仔细看看 java编程思想!面向对象!
我是小辉辉 2011-11-20
  • 打赏
  • 举报
回复
接口的用途很广,其中之一是可以实现多继承,但这不是更重要的。我想你还没有学过Spring这个框架,他的核心理念是IOC,就是面向接口编程。那么面向接口编程带来了什么呢?就是解耦,松耦合,我们在程序中只调用接口,但Spring通过配置文件给我们注入了此接口的实现类(这个实现类也是我们自己写的),那我们为什么不直接调用这个实现类呢??打个比方吧,我有一个接口,里面声名了几个方法,是用来从数据库中取数的,客户说要用JDBC联接数据库,过两天又说用HIBERNATE取数,我们不可能天天改代码,那么我们怎么办呢?我们先实现这个接口,里面用JDBC实现,过两天客户说用hibernate了,我们再写个类实现这个接口,客户再过两天说还是用JDBC吧,我们什么也不用做,改一下配置文件就行了。而前面调用者只能看见接口,后面的实现是看不到的,你爱是JDBC还是hibernate,关我做么事!!
其实JAVA里的Connection Statement等用于联接的类我们只要用就行了 ,具体的实现是在我们用的数据库所提供的JAR包里实现的,(我们用JAVA连数据库加载相关JAR包是必须的吧)这就是规范,接口也是一种规范,我只定规矩,你们来实现!!
wuyingjielao2 2011-11-20
  • 打赏
  • 举报
回复
如果你想实现a类和b类的功能,当然你可以把a和b的功能写到一个类里调用,但是很麻烦。而继承只能从a或者b中继承一个,所以要用接口,你可以继承a并且实现b的接口...
blliy117 2011-11-20
  • 打赏
  • 举报
回复
一般来说接口这东西做定义,或是约定,
这样就很方便把上层的东西或框架定义下来,因为写实现需要一个过程。
二者,接口一般给多种实现方法大不一样的类去实现,如果N个类方法都一样,可以直接用抽象类或是继承基类。
所谓抽象就是能相同的一类可以抽象出来的,而接口最好不要这么用。
  • 打赏
  • 举报
回复
楼上的说的很好啊,也很全,LZ 总结一下吧。
LucEaspe 2011-11-20
  • 打赏
  • 举报
回复
如果我把所有方法都写死在一个类中,那么这个类的扩展性大大降低。如果是接口,那可以实现多态。。。
Print0 2011-11-20
  • 打赏
  • 举报
回复
个人认为最主要的还是降低耦合吧。多态的话也是。
m540920181 2011-11-20
  • 打赏
  • 举报
回复
目的是为了提高代码的安全性,而且如果你搜得到别的公司的软件,看一下,可以看到许多接口,而且接口下面还是接口,目的是 为了提高安全性
BUG弄潮儿 2011-11-20
  • 打赏
  • 举报
回复
使用接口,我们就可以使用类的多态,子类指向父类
,如果我们换了一种实现的话,原来的代码可以不变。

jlu_lamp_lamp 2011-11-20
  • 打赏
  • 举报
回复
接口可用于多继承,多态
其实内部类也可以多继承
接口还有就是制定一个规范
接口可以让实现它的类可以向上转型
KG071 2011-11-20
  • 打赏
  • 举报
回复
1,java中没有多重继承 但是可以实现多个接口
2,你说的那样实现方式也可以,但是太笨重了,可扩展性太差,要面向抽象编程

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧