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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马飞 中级黑马   /  2015-5-27 07:13  /  455 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

接口和抽象类比较相似,接下来我们就来做一个对比分析:

接口:初期理解,可以认为是一个特殊的抽象类
        当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示。
class用于定义类
interface 用于定义接口。

接口定义时,格式特点:
1,接口中常见定义:常量,抽象方法。
2,接口中的成员都有固定修饰符。
        常量:public static final
        方法:public abstract
记住:接口中的成员都是public的。


接口:是不可以创建对象的,因为有抽象方法。
需要被子类实现,子类对接口中的抽象方法全都覆盖后,子类才可以实例化。
否则子类是一个抽象类。

接口可以被类多实现,也是对多继承不支持的转换形式。java支持多实现。



抽象:看不懂。

抽象类的特点:
1,抽象方法一定在抽象类中。
2,抽象方法和抽象类都必须被abstract关键字修饰。
3,抽象类不可以用new创建对象。因为调用抽象方法没意义。
4,抽象类中的抽象方法要被使用,必须由子类复写起所有的抽象方法后,建立子类对象调用。
        如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类。


抽象类和一般类没有太大的不同。
该如何描述事物,就如何描述事物,只不过,该事物出现了一些看不懂的东西。
这些不确定的部分,也是该事物的功能,需要明确出现。但是无法定义主体。
通过抽象方法来表示。

抽象类比一般类多个了抽象函数。就是在类中可以定义抽象方法。
抽象类不可以实例化。


特殊:抽象类中可以不定义抽象方法,这样做仅仅是不让该类建立对象。

4 个回复

倒序浏览
抽象类有构造函数
接口没有构造函数
回复 使用道具 举报
Ray丶少年 发表于 2015-5-27 17:32
抽象类有构造函数
接口没有构造函数

是吗,这个我还真不知道,难道抽象类也能实例化吗?
回复 使用道具 举报
楼主总结的比较全面,加油!
回复 使用道具 举报
本帖最后由 Ray丶少年 于 2015-5-28 14:28 编辑
黑马飞 发表于 2015-5-28 08:22
是吗,这个我还真不知道,难道抽象类也能实例化吗?

面试给面的,我刚开始也不知道。抽象类是不能实例化的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马