本帖最后由 王亚运 于 2012-12-17 23:10 编辑
1 interface的作用是让使用inerface的人不知道它是怎么实现的,但调用这结方法就好使。就像是收歀台,它的方法就是收钱。
你把钱给它,它给你零钱。你不用管它用的是电脑还是算盘。它也不想让你知道。反正功能实现了。
2 当你在使用inerface时,一定是用的implements里的方法,而且经常这么用。
List l = new ArrayList() ; List是接口,ArrayList是它的实现。这后还很有可能有个方法是这样的 public void m1(List l){...}.
这里写List是让这个方法更通用些,只要是List 的实现就能用。就好比这个款台,台子是一样的,但钱可以不一样。可是美元,也可以是元宝。
但它们都是“钱”的实现,“钱”本身没有意义。
3 implements 和 extends 。implements是向老师学习,我可以拜很多的人为师,从而我就有了这些人的本领,但我还是我,不过本事大了些;
extends 就是认爸爸。一个人就一个爸,同样我有了爸爸的本领,你可以替你爸去从军,但不能替别的老头子,我也不能再认别的爸了,但可以认老师,几个都没关系。
这之间也许还有别的区别,不过我还没遇到过。
还有一些,我也说不来了。我还分不太清什么时候用接口或是抽象类,不过我用接口的情况多些。
有人对我说,最好是一个类对应一个接口,我还不理解它的意义有多大,不过大家都是这么写的。
换句话说,一个类好不要凭空就出来,最差也要继承个抽象类。这都是书本上的,记住了,但没什么感觉。
在给你个地址,理解抽象类和接口的区别 :http://www.7880.com/info/Article-538dc540.html
|