随着科学技术水平的不断发展,人们对于新技术的渴求也越来越强烈。大家主动学习java知识以谋求更好的发展。java中关于抽象方法的知识还是很重要的,一起来了解一下吧。
首先我们需要知道的是,抽象方法的意义在于,规定了他的所有子类必须拥有一个这样子的方法,或者提供一个这样子的服务,但是实现这个方法的方式,会因为子类的不同的结构而有所不同。
之所以需要继承,是因为这个方法是这些子类的一个共同属性。或者说,父类要通过这些抽象的方法,提供某种特定的服务,但是实现方式在子类中有所不同,所以在父类中写了抽象方法强制子类实现,保证能够提供这种服务。
也可以这么说,抽象方法和接口定义的方法,你可以理解为是一种协议或者规范。
关键点是看JDK源码里接口和抽象类是如何搭配使用的,自然就明白了这两者的区别:
抽象类和接口有类似之处,都不能用于创建对象,接口中的方法其实都是抽象方法。如果抽象类中只定义了抽象方法,那抽象类和接口就更像了。但抽象类和接口根本上是不同的,一个类可以实现多个接口,但只能继承一个类。
抽象类和接口是配合而非替代关系,它们经常一起使用,接口声明能力,抽象类提供默认实现,实现全部或部分方法,一个接口经常有一个对应的抽象类。
比如说,在Java类库中,有:
• Collection接口和对应的AbstractCollection抽象类
• List接口和对应的AbstractList抽象类
• Map接口和对应的AbstractMap抽象类
对于需要实现接口的具体类而言,有两个选择,一个是实现接口,自己实现全部方法,另一个则是继承抽象类,然后根据需要重写方法。
抽象类的主要use case就是实现接口的部分通用方法, 再由用户的类继承并进一步override其abstract方法(通常是不同类型的子类有不同的实现)
其实java中关于抽象方法的意义还是比较深厚的,所以需要大家花费一定的时间去了解和学习。java基础知识还是很多的,如果你有兴趣的话,敬请关注奇Q工具网,多多了解哦。
推荐阅读: