学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
发新话题
打印

接口的意义何在?

接口的意义何在?

在java 中,接口概念的提出是为了解决java不能多继承而产生的。
有些想不通,一个子类继承父类,它此时就不能继承别的类,就是
java中的单继承。若想继承别的类,就用接口。然后添加抽加方法的
方法体。是这样的是吧?

那我就是想既然这个子类想要别的类的方法或者变量,就直接在自己的
类中添加就是。何必这样多此一举呢?

当然我想的有点极端,刚接触java,很多问题不懂。希望各位大哥指点。

TOP

你问的问题很好,说明你是深刻的思考过。
其实这个问题我想大家也都想过,但是我想很难有人很清楚这个问题。
我谈谈我的片面理解:
面向接口编程也是JAVA的特点,接口的存在可以使Java中的对象可以向上转型为多个基类型,
而且避免了滥用继承,通过继承不同的接口,再利用反射机制让程序知道类继承了什么接口,
也就是知道类可以做什么。就是说接口告诉了程序你的类可以做什么,这种抽象体现了优美
设计思想,把不同类型的类归于不同的接口,这样也方便把类分类管理。


具体的接口的好处还需要你在实践中去体会了,说了这么多也帮不了你什么,真是不好意思,呵呵。
老牛明知夕阳晚,不用扬鞭自奋蹄; Angelo\'s BLOG

TOP

说的好!
确实你可以不用接口,自己来设计方法,但是时间长了就觉得很乱.

TOP

但一个程序很大时,需要很多人一起合作时,你就会感觉的接口的用处了

JAVA是什么?我也不清楚......

TOP

路过,顶一下

TOP

我对接口的理解,希望对你思维能有帮助,打个比方,开发一款网络游戏,游戏设定为战士,法师,猎人三大职业,这个时候你只把战士,法师相关职业的对象以及方法写完了,但是猎人由于游戏性考虑什么方面的,还无法完成,但是为了要尽快能让游戏面向玩家,就先把游戏公开测试,然后比方说游戏就作为一个接口,战士,法师为抽象类,这两个职业是已经有实现类来支持,但是猎人由于开发或者其他原因而没有完成,就可以先吧猎人这个接口弄上去,反正已经确定有这个职业,然后玩家就可以看到猎人这个职业,但是无法进行选取。等到你把猎人这个职业的实现类完成,直接往总接口上一挂,玩家就可以直接选择猎人职业进行游戏了。如果你没有接口功能,那就要把运行的游戏停下来,然后从头进行职业添加,甚至会改动程序主体,会很费劲,而使用接口,就可以在不影响主程序工作的前提条件下,直接进行功能的拓展。不知道我这样的想法对你有帮助么。。囧~

TOP

发新话题