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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jing3133920 中级黑马   /  2015-4-28 14:27  /  549 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 jing3133920 于 2015-4-30 10:37 编辑

接口里存放的都是抽象方法,在java中不是有用abstract修饰的抽象类么?抽象类一样可以存放抽象方法,为什么还要用接口呢?麻烦帮忙解释下,这里我有些不理解。

7 个回复

倒序浏览
定义接口,是因为有的不需要你去new子类对象。如果是抽象类,你可以复写抽象方法再创建子类对象。
回复 使用道具 举报
抽象类,可以在内提供建立自己对象的方法,而得到抽象类的对象。接口就不能建立自己的实例,必须要有实现的子类。
回复 使用道具 举报
接口是为了补充抽象的不足点而存在的,
如果一个类继承了某个抽象类,就不能再继承了,
所有有了接口, 一个类可以去实现多个接口,
你可以这么去理解。
回复 使用道具 举报
接口可以被多实现,但抽象类不可以被多继承,因为Java中不支持多继承。
回复 使用道具 举报
抽象类和接口的区别:
其一是抽象类只能单继承的实例化子类对象,一个类可以实现多个接口
其二是抽象类中除了抽象方法还有其他的非抽象的方法,接口中自能有抽象方法和常量
抽象类终究是一个类即是描述一类事物共有的属性和功能的只是描述的太抽象了,让你不能确定是哪一类事物,必须继承了他再把他抽象的描述这类功能具体化了(即继承并复写抽象方法)才能知道是哪一类事物后才能new对象、

点评

谢谢你详细的解释。基本了解了  发表于 2015-4-30 10:38
解释的好!  发表于 2015-4-28 20:18
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马