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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© android小学徒 中级黑马   /  2015-10-16 19:25  /  851 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

A )抽象类:含有 abstract 修饰符的 class 即为抽象类,abstract 类不能创建的实例对象。含有 abstract 方法的类必须定义为 abstract class ,abstract class 类中的方法不必是抽象的。abstract class 类中定义抽象方法必须在具体 (Concrete) 子类中实现,所以,不能有抽象构造方法或抽象静态方法。如果的子类没有实现抽象父类中的所有抽象方法,那么子类也必须定义为 abstract 类型。
B)接口:可以说成是抽象类的一种特例,接口中的所有方法都必须是抽象的。接口中的方法定义默认为 public abstract 类型,接口中的成员变量类型默认为 public static final。
C)区别:
a)抽象类可以有构造方法,接口中不能有构造方法。
b)抽象类中可以有普通成员变量,接口中没有普通成员变量
c)抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有
非抽象的普通方法。
d) 抽象类中的抽象方法的访问类型可以是 public,protected,但接口中的抽象方法
只能是 public 类型的,并且默认即为 public abstract 类型。
e) 抽象类中可以包含静态方法,接口中不能包含静态方法
f)抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可
以任意,但接口中定义的变量只能是 public static final 类型,并且默认即为 public static
final 类型。
g)一个类可以实现多个接口,但只能继承一个抽象类。

12 个回复

倒序浏览
支持下!!!!!!!!!
回复 使用道具 举报
总结的好详细...
回复 使用道具 举报
大神 好棒
回复 使用道具 举报
大神 好棒
回复 使用道具 举报
1、        接口可以多实现;而抽象类只能单一继承
2、        接口中只能定义常量和抽象方法;而抽象类中除了可以定义抽象方法外,还可以定义构造、静态成员、普通成员
3、        接口不能实例化(没有构造函数);抽象类也不能实例化(具有构造函数[为子类对象初始提供服务])
4、        接口是用来描述事物的扩展功能; 而抽象类是用来描述不清楚或不具体的事物
回复 使用道具 举报
LLLLL 中级黑马 2015-10-18 20:09:11
7#
6666666666666
回复 使用道具 举报
顶一个~~~~~~~~~~~~
回复 使用道具 举报
QiChen 来自手机 中级黑马 2015-10-18 20:50:12
9#
这个可以,总结的很好啊………
回复 使用道具 举报
总结的好详细...
回复 使用道具 举报
总结的很好
回复 使用道具 举报
总结的这么详细,知识面真广
回复 使用道具 举报
受精了 ,   谢谢楼猪,
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马