A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© fiend 中级黑马   /  2012-7-28 10:29  /  1593 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

什么时候用抽象类,什么时候用接口啊?貌似都可以啊?分不清什么时候用哪个,求解。

3 个回复

倒序浏览
抽象类是类,可以包含成员变量和方法,包含抽象方法的类一定是抽象类,但抽象类不一定有抽象方法。
接口不是类,在不同事物(类)中抽象出共同功能点(方法),形成一组公开的功能规则(接口)来制约某些事物(类)的功能实现。
两者的区别:
一个类可以实现多个接口,但是只能继承一个父类。
实现抽象类可以有选择地重写需要用到的方法,但是必须实现里面所有的抽象方法。实现接口的一定要实现接口里定义的所有方法。
抽象类中可以有普通成员变量,接口中没有普通成员变量,接口中定义的变量只能是public static final类型。
抽象类可以有构造方法,接口中不能有构造方法。


回复 使用道具 举报
如果要创建不带任何方法定义和成员变量的基类,就应该选择接口而不是抽象类。
如果知道某个类应该是基类,第一个选择应该是让它成为一个接口。
只有在必须要有方法定义和成员变量时,才选择抽象类。因为抽象类中允许存在非抽象方法
回复 使用道具 举报
下面是关于抽象类和接口的两张截图讲解的非常详细 。希望对你有所帮助!!!!!!!!!


搜狗截图_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, 下载次数: 20)

搜狗截图_2012-07-28_11-21-52.png
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马