抽象类与接口的一些区别

乐山 2008-02-28 15:37:38   来自: 乐山 (厦门)

  自己的一些想法:不知道对不对
  
  接口主要是用来描述这个系统有些什么功能,应该怎么调用这些功能,是更高的一层抽象。主要是用来表现给外界看。同时接口比较稳定,不能随便变来变去。因为你一变,对于外界来说你的表现就变了。接口对于系统来说,相当于一个规范的描述,感觉有点像虚拟机规范之于虚拟机,只要知道做了些什么,要实现些什么功能就好了,而不不要知道具体怎么实现。接口对于编程人员来说,相当于帮你隐藏了一些东西,这些隐藏(如何实现)的东西,你不需要去关注。
  
   抽象类,在语法上的区别,你也说了。实际上抽象类也可以部分的实现接口的功能,即描述一些东西给外界看。抽象类更像一个系统的骨架,里面有一些基本的需要共享的代码。和一些已经实现好的方法。想想,如果全都用接口代替抽象类的话,那么我们底下子类的编写就需要编写大量的代码。而这些子类,本可以实现代码和属性的共享的。所以抽象类,更多的是一个对内的东西。
  
   可以说接口是比抽象类更抽象的一个东西。接口和抽象类关注的地方不一样。当然从逻辑上来看,他们的区别不是那么的明显。但是从用法上来看,他们还是有比较大的区别。
  
   写的有点乱...




重构

2008-02-28 18:33:26 重构 (上海)

  接口是JAVA中一个相当精妙的设计,感觉相当于一个资格证书。
  
  例如,一个人的实体类有很多的方法,而英语资格证书,只关注你又没有它的方法,而不关注这个类的实体吃饭的方法,走路的方法,你只要有说英语的方法就可以了,具体怎么实现,资格证书是不会关注的。
  
  只管资格,不管老爸,这就是接口比较强大的地方。



乐山

2008-02-28 19:51:36 乐山 (厦门)

  ls说的这个也是接口的一个好处,使用接口可以毫不费力的为类增加功能,使实现该接口的类一下子看起来像接口所描述的那样了



` never ,

2008-02-28 19:58:25 ` never , (València)

  一baidu 一票..``~~~
   领会一下就差不多了吧,.```



2008-04-23 22:52:18 xtmboy

  这两个是一个比较容易混淆的概念,也被混淆的使用,建议读读《java 与 模式》这本书,说的比较清楚了



无尽的夏

2008-04-26 22:40:05 无尽的夏 (南京)

  区别很简单:
  接口--功能
  抽象类--继承



roseRouge

2008-04-28 17:40:19 roseRouge (北京)

  接口是一份契约
  抽象类提供一个框架



麦田

2008-06-18 10:20:09 麦田 (上海)

  学习




> 去Java编程小组


最新话题:

请教: 学过C /C ++比较熟悉OOP,如何上手...   (姜头王子(g**P))

搜狐chinaren.com 招聘 JAVA工程师   (菁菁河边草)

有女生学这个的麻?   (①只安小怪之。狗逼倒糟的生活)

关于qq   (lectery)

求助java 回文三角形   (Lebin)

各位帮帮忙,怎样才能用上JAVA?   (Joe)

关于JPopupMenu   (蘑菇™蘑菇™它不开花,憋死)

struts中获得application   (lectery)

问关于线程   (蘑菇™蘑菇™它不开花,憋死)

初学者请教   (nzomkxia)

怎样才能下载这个视频?   (félix)

关于qq api调用   (lectery)


© 2005-2008 douban.com, all rights reserved 关于豆瓣 · 帮助中心 · 隐私原则 · 豆瓣服务(API)