美文网首页
抽象类和接口区别

抽象类和接口区别

作者: 吹破天 | 来源:发表于2018-06-12 09:50 被阅读0次

一.抽象类和接口区别:

抽象类由abstract关键字来修饰,接口由interface关键字来修饰。

抽象类中除了有抽象方法外,也可以有数据成员和非抽象方法;

而接口中所有的方法必须都是抽象的(public abstract类型),接口中也可以定义数据成员,但必须是常量(public static final)。

抽象类可以有构造方法,接口不能有构造方法

抽象类速度比接口速度要快,接口是稍微有点慢的,因为它需要时间去寻找在类中实现的方法。

与正常Java类的区别除了你不能实例化抽象类之外,它和普通Java类没有任何区别;接口是完全不同的类型

/*

参考资源http://blog.csdn.net/wei_zhi/article/details/52736350

https://www.cnblogs.com/jizuiku/p/7466609.html

*1.如果一个类中含有抽象方法(abstract),你还不定义为抽象类abstract,必然报错

*2.抽象方法中没有方法体

*3.抽象类中可以不含有抽象方法

*4.抽象类无法直接进行实例化操作,需要依靠子类采用向上转型的方式处理 ->TestDemo

*5.抽象类中方法只含有public,protected,不能含有private,不写默认为public

*6如果抽象类中方法用的是protected,则子类可以重写为public或protected;如果抽象类中方法用的是public,则子类可以重写为public

*7.子类(如果不是抽象类)则必须覆写抽象类之中的全部抽象方法(如果子类没有实现父类的抽象方法,则必须将子类也定义为为abstract类。);

*8.抽象类可以有构造函数,子类必须也有构造函数并且如果继承有参数的构造函数不用super则会报错

*9.抽象类可以用final声明么?

不能,因为抽象类必须有子类,而final定义的类不能有子类;

*10.抽象类可以有成员变量,当然public和protected,不能是private,final,而且可以是静态static

*11.抽象类方法也可以是static

* */

/*

在Java中,一个抽象类只能继承一个抽象类,但一个接口却可以使用extends关键字同时继承多个接口(但接口不能继承抽象类)。

由此可见,从继承关系来说接口的限制比抽象类少:

(1)一个抽象类只能继承一个抽象父类,而接口可以继承多个接口;

(2)一个子类只能继承一个抽象类,却可以实现多个接口(在Java中,接口的主要功能是解决单继承局限问题)

*/

相关文章

  • 5.5-全栈Java笔记:接口的定义和使用

    接口interface 接口的作用 为什么需要接口?接口和抽象类的区别? 接口就是比“抽象类”还“抽象”的“抽象类...

  • 接口和抽象类

    接口和抽象类的区别? 接口(interface)和抽象类(abstract class)是支持抽象类定义的两种机制...

  • 抽象类和接口的区别

    以下两篇文章介绍了接口和抽象类的概念接口概念抽象类概念 抽象类和接口的区别: 抽象类:需要使用abstract关键...

  • 接口和抽象类的区别

    接口和抽象类有什么区别 你选择使用接口和抽象类的依据是什么? 接口和抽象类的概念不一样。接口是对动作的抽象,抽象类...

  • Java基础 (7) 抽象类和接口

    抽象特性的具体体现方式。1)抽象类区别和接口的区别2)抽象类的意义3)抽象类与接口的应用场景4)抽象类是否可以没有...

  • Java--接口和抽象类

    ·为什么需要接口?接口和抽象类的区别?  接口就是比“抽象类”还“抽象”的“抽象类”,可以更加规范的对子类进行约束...

  • 抽象类和接口区别

    区别 接口 抽象类

  • 浅谈抽象类和接口的区别

    最近我看了一些接口和抽象类的区别,在这里我将我的所总结的内容分享给大家。 抽象类和接口的区别 1.抽象类使用abs...

  • Java 接口知识点

    接口的特性 函数式接口 抽象类和接口区别 Lambda表达式 java常用接口

  • Kotlin 零基础学习 接口和抽象类

    接口:接口就是暴露一种物体与另外一种物体沟通的方法 抽象类 接口 这么看接口和抽象类没什么区别,抽象类能干的接口也...

网友评论

      本文标题:抽象类和接口区别

      本文链接:https://www.haomeiwen.com/subject/ofigsftx.html