黑马程序员技术交流社区

标题: 抽象类与接口 [打印本页]

作者: fiend    时间: 2012-7-28 10:29
标题: 抽象类与接口
什么时候用抽象类,什么时候用接口啊?貌似都可以啊?分不清什么时候用哪个,求解。
作者: 乐峰    时间: 2012-7-28 10:43
抽象类是类,可以包含成员变量和方法,包含抽象方法的类一定是抽象类,但抽象类不一定有抽象方法。
接口不是类,在不同事物(类)中抽象出共同功能点(方法),形成一组公开的功能规则(接口)来制约某些事物(类)的功能实现。
两者的区别:
一个类可以实现多个接口,但是只能继承一个父类。
实现抽象类可以有选择地重写需要用到的方法,但是必须实现里面所有的抽象方法。实现接口的一定要实现接口里定义的所有方法。
抽象类中可以有普通成员变量,接口中没有普通成员变量,接口中定义的变量只能是public static final类型。
抽象类可以有构造方法,接口中不能有构造方法。



作者: 李菁    时间: 2012-7-28 10:49
如果要创建不带任何方法定义和成员变量的基类,就应该选择接口而不是抽象类。
如果知道某个类应该是基类,第一个选择应该是让它成为一个接口。
只有在必须要有方法定义和成员变量时,才选择抽象类。因为抽象类中允许存在非抽象方法
作者: 李志广    时间: 2012-7-28 11:24
下面是关于抽象类和接口的两张截图讲解的非常详细 。希望对你有所帮助!!!!!!!!!


搜狗截图_2012-07-28_11-21-40.png (333.3 KB, 下载次数: 22)

搜狗截图_2012-07-28_11-21-40.png

搜狗截图_2012-07-28_11-21-52.png (179.5 KB, 下载次数: 21)

搜狗截图_2012-07-28_11-21-52.png





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2