时间:2021-05-20
Java abstract class 与 interface对比
前言
abstract class和interface都是Java用来描述抽象体的,不知道是否有同学跟我一样对这两者的语法层面的区别以及如何选择这两者还存在着疑惑,反正接下来,让我详细介绍一下abstract class和interface。
理解抽象类
在面向对象的概念中,所有的对象都是通过类来描述的。但是反过来却不是这样,并不是所有的类都是用来描述对象的。因为这个类中可能没有足够的信息来描述一个具体的对象,这样的类就是抽象类(ps:注意这里的抽象类不是单指abstract class)。抽象类往往用来描述我们对问题领域进行分析和设计后得出来的抽象概念,是对一系列看上去不同,但是本质相同的具体概念的抽象。
abstract class 和 interface语法区别
抽象类和接口的区别如下:
abstract class和interface的使用区别
abstract class的设计体现了”is-a”的关系,而interface体现的是”has-a”的关系。
什么时候使用接口?
你想扩展我给你的东西,就必须实现必需的接口。例如,实现Comparable接口的对象可以直接使用sort方法Collections.sort(List list)排序。
什么时候使用抽象类?
如果你有一个抽象类,它提供了很多通用的功能,并且抽象出了每个子类需要自己去实现的方法。而你设计的东西恰好基于这个类,那这个实现你就可以去继承这个抽象类,然后实现自己独特的方法。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
复制代码代码如下: //////interface///与抽象类的区别:///1,abstract可以有具体方法和抽象方法(必须有一个抽象方法),interf
零、Java的关键字用于类和接口的声明:class,extends,implements,interface包引入和包声明:import,package数据类型
Interface不仅仅是一种“更纯”的abstract类。它还有更高一层的目的。由于interface不带任何“实现&rd
Interface关键词进一步强化了abstract的概念。你可以把它想象成纯的abstract类。它能让开发人员定义类的形式:方法,参数列表,返回值的类型,但
写在前面的话学习java这么久了,好像已经习惯了new对象,平时new对象主角是类(class)。乍一听对接口(interface)实例化,这这这可能吗,怕不是