java中抽象方法的意义是什么?详细解析

BSO 2020-12-01 14:43:14 java常见问答 7046

随着科学技术水平的不断发展,人们对于新技术的渴求也越来越强烈。大家主动学习java知识以谋求更好的发展。java中关于抽象方法的知识还是很重要的,一起来了解一下吧。

首先我们需要知道的是,抽象方法的意义在于,规定了他的所有子类必须拥有一个这样子的方法,或者提供一个这样子的服务,但是实现这个方法的方式,会因为子类的不同的结构而有所不同。

之所以需要继承,是因为这个方法是这些子类的一个共同属性。或者说,父类要通过这些抽象的方法,提供某种特定的服务,但是实现方式在子类中有所不同,所以在父类中写了抽象方法强制子类实现,保证能够提供这种服务。

也可以这么说,抽象方法和接口定义的方法,你可以理解为是一种协议或者规范。

关键点是看JDK源码里接口和抽象类是如何搭配使用的,自然就明白了这两者的区别:

抽象类和接口有类似之处,都不能用于创建对象,接口中的方法其实都是抽象方法。如果抽象类中只定义了抽象方法,那抽象类和接口就更像了。但抽象类和接口根本上是不同的,一个类可以实现多个接口,但只能继承一个类。

抽象类和接口是配合而非替代关系,它们经常一起使用,接口声明能力,抽象类提供默认实现,实现全部或部分方法,一个接口经常有一个对应的抽象类。

比如说,在Java类库中,有:

Collection接口和对应的AbstractCollection抽象类

List接口和对应的AbstractList抽象类

Map接口和对应的AbstractMap抽象类

对于需要实现接口的具体类而言,有两个选择,一个是实现接口,自己实现全部方法,另一个则是继承抽象类,然后根据需要重写方法。

抽象类的主要use case就是实现接口的部分通用方法, 再由用户的类继承并进一步override其abstract方法(通常是不同类型的子类有不同的实现)

其实java中关于抽象方法的意义还是比较深厚的,所以需要大家花费一定的时间去了解和学习。java基础知识还是很多的,如果你有兴趣的话,敬请关注奇Q工具网,多多了解哦。

推荐阅读:

java抽象方法怎么操作?实例代码分享

java抽象的概念是怎样的?有哪些格式?

java抽象类与接口使用情况是怎样的?详细说明