黑马程序员技术交流社区
标题:
接口和抽象类的区别,在开发中都分别什么时候用他们?
[打印本页]
作者:
liuqiang11164
时间:
2015-11-12 23:08
标题:
接口和抽象类的区别,在开发中都分别什么时候用他们?
接口和抽象类的区别,在开发中都分别什么时候用他们?
作者:
1379号监听员
时间:
2015-11-12 23:21
接口是定义规则的拓展功能的,里面的成员变量都是常量,成员函数都是抽象方法,没有构造函数。
抽象类里面不一定有抽象方法,但有抽象方法的一定是抽象类。
作者:
xiao15779706
时间:
2015-11-13 09:20
1.抽象类可以有构造方法,接口中不能有构造方法。
2.抽象类中可以有普通成员变量,接口中没有普通成员变量
3.抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象
的普通方法。
4. 抽象类中的抽象方法的访问类型可以是 public, protected 和(默认类型,虽然
eclipse 下不报错,但应该也不行),但接口中的抽象方法只能是 public 类型的,并且默认即
为 public abstract 类型。
5. 抽象类中可以包含静态方法,接口中不能包含静态方法
6. 抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任
意,但接口中定义的变量只能是 public static final 类型,并且默认即为 public static final 类
型。
7. 一个类可以实现多个接口,但只能继承一个抽象类。
作者:
迷路森林
时间:
2015-11-13 20:59
本帖最后由 迷路森林 于 2015-11-13 21:04 编辑
成员区别
抽象类
有构造方法
成员变量可是是变量也可以是常量
成员方法可以是抽象方法也可以不是抽象方法
接口
没有构造方法
成员变量只能是被final修饰的常量
成员方法只能是没有方法体的抽象方法
成员关系
类和类 继承 只有单继承
类和接口 实现 可单实现也可多实现
接口和接口 继承 可单继承也可多层继承
设计理念(这个面试的重点) 接口:接口被实现,体现的是“like a" 的关系,更多的是体现一种拓展性
抽象类: 抽象类被继承,体现的是”is a“的关系,更多的是体现它们之间的共性。
作者:
海贼
时间:
2015-11-13 22:52
菜鸟飘过!!!!!! 还在学习中
作者:
jingyezhige
时间:
2015-11-14 14:16
java比较推荐面向接口编程,这样在调用的时候不需要知道底层是实现方式,如果程序变动,上层程序基本不会变动
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2