随笔 - 19  文章 - 0  trackbacks - 0
<2012年8月>
2930311234
567891011
12131415161718
19202122232425
2627282930311
2345678

常用链接

留言簿

随笔档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜

面试题:请说说抽象类和接口的区别


抽象类,使用abstract关键字修饰的类为抽象类,一般来说,含有抽象方法的类就需要定义为抽象类,但是抽象类不一定都有抽象方法,比如,在GUI当中,对于事件处理提供了很多监听器口里里面方法都是抽象的,每次进行事件处理时,都需要实现监听器接口,哪怕只处理一个简单的动作,也需要实现接口所有的方法,这样很麻烦,而且显得代码很臃肿,Java提供了适配器,适配器就是自己实现了监听器接口,但是所有的方法都是空实现,以后再用到监听器时,我们可以继承适配器,实现我们需要的方法就可以了,这样就很方便。像这样的适配器只是给调用者提供一个方便,一定不希望别人直接创建实例来使用,所以有必要将它定义为abstract抽象的。

接口,接口是一种特殊的抽象类,接口中所有的方法都是抽象的,通常来讲,我们使用接口作为一种协议,起到各模块之间的衔接作用。由于Java中只支持单继承,不支持多继承,但是可以实现多个接口,原因在于接口中所有的方法都抽象,子类继承哪个都无所谓,我们让一个类实现多个接口,就可以做到将一个子类对象当做多种父类类型来使用,所以我认为定义接口就是为了更好地实现多态,因为多态就是把子类当做父类来用.

 

posted on 2012-08-07 01:01 、小细 阅读(57) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: