抽象类与接口的比较(Java)
2015-11-16 09:56
323 查看
Java中接口和抽象类非常相像,但它们也有区别,主要如下:
1.一个类可以实现多个接口,但是只能继承一个抽象类。可以说接口是取消程序语言中的多继承机制的一个衍生物,但它不完全如此。
2.抽象类可以有非抽象方法,即可以有已经实现的方法,继承它的子类可以对方法进行覆写;而接口中定义的方法必须全部为抽象方法。
3.在抽象类中定义的方法,他们的修饰符可以是public、protected、private,也可以是默认值;但是在接口中定义的方法全是public的。
4.抽象类可以有构造函数,接口不能。两者都不能实例化,但是都能通过它们来存放子类对象或是实现类的对象。可以说它们都可以实现多态。
1.一个类可以实现多个接口,但是只能继承一个抽象类。可以说接口是取消程序语言中的多继承机制的一个衍生物,但它不完全如此。
2.抽象类可以有非抽象方法,即可以有已经实现的方法,继承它的子类可以对方法进行覆写;而接口中定义的方法必须全部为抽象方法。
3.在抽象类中定义的方法,他们的修饰符可以是public、protected、private,也可以是默认值;但是在接口中定义的方法全是public的。
4.抽象类可以有构造函数,接口不能。两者都不能实例化,但是都能通过它们来存放子类对象或是实现类的对象。可以说它们都可以实现多态。
相关文章推荐
- Eclipse 安装插件
- Struts2配置详情
- java中length,length(),size()区别
- 关于华为x1 7.0无法从eclipse发布的更新as发布的apk
- eclipse不能进行保存
- Java 迭代器
- Java调用命令行
- Spring 学习日记(三)Resource接口
- eclipse调试java不能看到变量的值
- Java 日期转毫秒和毫秒转日期
- 源码分析:Java对象的内存分配
- Spring 学习日记(二)BeanFactory小议
- eclipse 离线安装插件
- meclipse中project facet问题
- Spring的核心技术(一)
- Java编程中线程池的基本概念和使用
- JAVASE中JFileChooser的使用小结 打开文件并显示
- JAVA中精确保留到小数点后2(n)位的办法
- 占用内存空间
- 写一方法,打印等长的二维数组,要求从1开始的自然数由方阵的最外圈向内螺旋方式地顺序排列。 如: n = 4 则打印: