自学到接口,看了很多,有点感悟,说出来大家看看对否?
java吧
全部回复
仅看楼主
level 1
ufo1921234 楼主
话说接口这东西很多初学者都不太明白,就像抽象类一样,完全不清楚他存在的意义,因为感觉为了定义一个抽象类或者接口而实现的功能完全可以直接定义一个简单的函数或者类来实现,何必绕那么大的一个圈子呢?
开始我也是这么认为的,但是偶尔发现看书的后面,开始介绍api的时候,才发现之前我们要学接口的意图并不是什么接口啊,接口内的方法都要自己一个个代码去写,而是要求我们理解接口的使用方法,而不是定义的方法,因为开发JAVA很大程度的要使用别人提供的JDK,而这些JDK中已经提供了很多现成的接口和方法,而作为开发者的我们只需要用就可以了,
这就是为什么很多人开始不理解接口的意义,其实根本不需要太在意如何定义接口,定义接口的方法之类的,拿别人定义好的来用,这才是我们要做的
我不知道自己这种想法对不对啊,初学者,莫笑!
2011年05月12日 02点05分 1
level 9
[生日快乐] 有点错误,接口是规定,比如数据库吧,sun定义好几个需要的方法,然后每个数据库厂商要使java语言可以操作,就必须按照接口定义的方法去写自己数据库能执行的方法,然后我们程序员只要引入了厂商的驱动,其他的东西都按照接口定义的方法去写,就不用考虑为每个数据库写不同的方法了。当然我们自己写的程序也可以定义好接口,然后叫别人去实现,最后组装到一起,发现不好用就可以直接用另外一个人写的实现。
[Yeah] 用我的东西就必须按我的规定去做
2011年05月12日 03点05分 2
level 1
ufo1921234 楼主
说是规定不会就是简单的定义个名字吧,起名字谁不会,只是后面的定义个类实现接口时,就要对接口内所有方法重新定义,这是由我们程序员来做还是由厂商等提供好的来做,还是说,接口又分好多种,有现成的,有自己根据需要原创的[汗]
2011年05月12日 03点05分 3
level 9
回答正确,就是定义个名字
2011年05月12日 03点05分 4
level 9
你也可以写个接口叫别人去实现,比如几个人在一起合作,比如我要一个html过滤的方法,
就写个接口 public String filterHtml(String content);
那别人就去实现这个,然后我直接调用他实现的方法,就达到了过滤的目的
例如接口名是 abc 里边就有这个过滤的方法,
例如我写的方法是 public void test(abc a){这里边就可以调用这个接口了};
别人调用我的方法的时候传入实现这个接口的一个对象就行了

2011年05月12日 03点05分 5
level 1
ufo1921234 楼主
啊,又变迷糊了,如果定义接口的意义就是定义一个名字,实在看不出这有什么积极的效果,不会只是为了便于管理和维护吧,
如果这样的话,那些API中提供的接口有有什么含义呢,如果那些接口提供给我们的只是个接口或方法的名字,难道还要我们自己编写方法的内容吗,那些输出图像,记录键盘输入等等和硬件相关的作用不是程序员自己能实现的了的吧[瀑布汗~]
2011年05月12日 03点05分 6
level 1
ufo1921234 楼主
先不说定义个接口让别人去做这种对于新人来说几乎是不太实际的事情(“喂,你照着我这个名字给写个方法,方法要!@#¥¥%等功能”怎么看都是上司对于下属的口吻)
如果我只是做个人开发,难道接口就没有存在的必要了吗
2011年05月12日 03点05分 7
level 9
便于团队合作
2011年05月12日 03点05分 8
level 1
个人理解:Api此接非彼接
2011年05月12日 03点05分 9
level 8
这就是标准的订立,制定了这些标准那么大家只要看到了接口名字就知道有什么功能了。
2011年05月12日 04点05分 10
level 5
java.sql.Connection就是接口。
不信?到时候你取一个连接,查一下连接的真实类名就知道了。
2011年05月12日 04点05分 11
level 6
[拍砖]接口既然被这样理解了....
初学者有点含糊是肯定的,但是也不要自己去太随意去理解...
有些东西要到了一定程度 才有机会去理解
现在你就先有这么一回事 不要胡乱猜测避免给以后的学习带来不良的影响
2011年05月12日 04点05分 12
level 8
对于个人开发使用接口可以达到解耦合,增加代码阅读性,可以根据自己的需要随时替换掉实现接口的实现类,替换下的可作为备用,这样提高了代码的灵活性,接口可以有多个实现类,实现类不只是实现了接口的方法,其中也可以写自己的功能,当一个实现类满足不了需求的时候可以调用此接口的其他实现类来满足,像你说的也是对的,当在一个团队中,比如我负责某个功能,当你需要使用我这个功能的时候,你就直接访问我的接口就可以,如果需求变更,我只需要更改我的实现类中的具体实现,就算改变,你也体验不出来,接口还是那个接口,方法还是那个方法,但是具体实现就和以前不一样了,这样就能使你不必关心这些不重要的,让你去专注于对你来说重要的任务。
再比如说 collection接口,这接口规定了一些所有**的公共方法,而 list set接口都继承于这个接口,这就是一个多态的体现,也是接口的好处,比如你发明了另一个容器,比如说这个容器是名叫,super,你这个容器也有这些共性方法,这些方法collection接口都实现了,那你就直接继承这个接口,然后写你super容器中要干的事就行了,这是不是也省了你很多事情?
这也是我个人的理解....我也刚学没多长时间..不知道对你有没有帮助

2011年05月12日 04点05分 13
level 9
[揉脸] 话说我真的没觉得接口能帮我完成复杂的逻辑
2011年05月12日 05点05分 16
level 5
接口可以方便别人理解你复杂的逻辑,降低耦合度,方便以后扩展程序功能,让代码灵活,没有写死
2011年05月12日 07点05分 17
level 1
动态绑定。。。
2011年05月15日 06点05分 18
1