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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 华行天下 中级黑马   /  2013-8-15 13:42  /  1455 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 华行天下 于 2013-8-19 10:50 编辑

抽象类和接口的具体区别,我好像搞混了!

7 个回复

倒序浏览
抽象能在类里面写实现,接口不行。 最大的区别
回复 使用道具 举报
本帖最后由 binghaiwang 于 2013-8-15 14:59 编辑

普通抽象类:被abstract修饰符所修饰,类中方法都是抽象的,并且没有任何方法体。
接口:定义用Interface修饰符,该类中方法也都是抽象的,与其他类是存在的实现关系。

java类 可以实现多个接口,而只能继承一个父类。
回复 使用道具 举报 1 0
1:抽象类只能被继承,而且只能单继承。接口需要被实现,而且可以多实现。
2:抽象类中可以定义非抽象方法,子类可以直接继承使用。接口中都有抽象方法,需要子类去实现。
3:抽象类使用的是  is a 关系。接口使用的 like a 关系。
4:抽象类的成员修饰符可以自定义。接口中的成员修饰符是固定的。全都是public的

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
http://bbs.itheima.com/thread-74633-1-1.html这是我的帖子,里面说的很清楚了。你先在论坛里找了答案,再提问,这样比较好
回复 使用道具 举报
接口与抽象类的区别:
        共  性:都是不断抽取出来的抽象的概念
        区别 1:抽象类体现继承关系,一个类只能单继承
                接口体现实现关系,一个类可以多实现,避免单继承的局限性.
        区别 2:抽象类是继承,是 "is a "关系
                接口是实现,是 "like a"关系
        区别 3:抽象类中有构造方法,可以有变量,常量,有抽象方法.
                可以定义非抽象方法,供子类直接使用.
                接口中只有常量,没有构造方法. 方法都是抽象,接口中的成员都有固定修饰符.
                默认修饰符为:
                成员常量:public static final  成员方法:public abstract
        区别 4: 设计理念
                类继承是定义了这个体系的共性内容
                接口被实现是定义了体系的扩展内容,是对外暴露的规则

如果抽象类中只有抽象方法,并且只有常量,这个抽象类就可以用接口表示。接口的出现降低耦合性。
类与接口之间是实现关系,而且类可以继承一个类的同时实现多个接口。
接口与接口: 继承关系,可以单继承,也可以多继承。

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

回复 使用道具 举报
孙鑫 中级黑马 2013-8-15 19:09:51
7#
1.抽象类中可以有非抽象方法。接口中则不能有实现方法。
2.接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。接口中的方法默认都是 public,abstract 类型的。
3.抽象类中的变量默认是 friendly 型,其值可以在子类中重新定义,也可以重新赋值。
  

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
亲,如问题已解决请将分类的未解决改为已解决。

以后的问题贴也要及时更改分类哦~

保持队形,谢谢合作
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马