您的位置:首页 > 其它

接口和抽象类的比较

2015-01-09 17:12 246 查看

概念上的比较

接口和抽象类的概念不一样。接口是对行为的抽象,抽象类是对根源的抽象。也就是说抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。

语法上的比较

1. 抽象类可以有自己的数据成员,也可以有非abstarct的成员方法,而接口只能够有静态的 不能被修改的数据成员(也就是必须是static final的,不过在interface中一般不定义数据成员),所有的成员方法都是abstract的。从某种意义上说,interface是一种特殊形式的abstract class。

2. 在abstract class的定义中,我们可以赋予方法的默认行为。但是在interface的定义中,方法却不能拥有默认行为.( java 8 已经可以实现接口方法的默认行为了)

3. 接口可以多继承,抽象类不行

用法

当你关注一个事物的本质的时候,用抽象类;当你关注一个行为的时候,用接口。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: