黑马程序员技术交流社区

标题: 抽象类与接口的区别是什么? [打印本页]

作者: 孙建强Jason    时间: 2015-6-30 21:49
标题: 抽象类与接口的区别是什么?
请大神指教,谢谢!
作者: 等你的季节-夏天    时间: 2015-6-30 21:59
抽象类:
1) 抽象方法,只有行为的概念,没有具体的行为实现。
使用:abstract 关键字修饰,并且没有方法体。
2) 包含抽象方法的类,就一定是抽象类。
使用: abstract 关键字修饰,包含抽象方法。
3) 抽象类不能直接创建实例。可以定义引用变量。
4) 抽象类只能被继承,一个具体类继承一个抽象类,必须实
现所有抽象方法。
5) 抽象方法和抽象类非常适合作为系统的分析和设计的工具。
接口:
1 接口:全部的方法都是抽象方法,全部的属性都是常量。
接口用来表示纯抽象概念,没有任何具体的方法和属性。
2 不能实例化,可以定义变量。
3 接口变量可以引用具体实现类的实例。
4 接口只能被实现(继承),一个具体类实现接口,必须使用全部的
抽象方法。
5 接口之间可以继承。
6 一个具体类可以实现多个接口,实现多继承现象,表示:
7 接口中的属性,默认是常量 public static final
8 接中的方法一定是:public abstract
9 实现一个接口,使用关键字implements, 实现实际上是
一种继承关系。接口和实现类是父子类型的关系
作者: zhao_HHH    时间: 2015-6-30 22:38
挺好,能举例子就更好了
作者: 天涯回望    时间: 2015-6-30 23:04
1:成员特点

        抽象类:
                成员变量:可以是变量,也可以是常量。
                构造方法:有构造方法。
                成员方法:可以是抽象方法,也可以是非抽象方法。
       
        接口:
                成员变量:只能是常量。
                          默认修饰符:public  static  final
                构造方法:接口没有构造方法
                成员方法:只能是抽象方法。
                          默认修饰符:public  abstract

2:关系特点

        类与类:
                继承关系,只能单继承,可以多层继承。

        类与接口:
                实现关系,可以单实现,也可以多实现。
                还可以在继承一个类的同时,实现多个接口。

        接口与接口:
                继承关系,可以单继承,也可以多继承。

3:设计理念的区别

        抽象类被继承,这个类中定义的是整个继承体现的共性内容。
                                抽象类体现:is a

        接口被实现,这个接口中定义的是整个体现的扩展内容。
                                接口体现:like a

这个是我自己的笔记里面整理的,希望对你有帮助




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2