艾巴生活网

您现在的位置是:主页>数码 >内容

数码

java接口和抽象类区别,抽象类和接口的区别

2023-08-05 15:48:17数码帅气的蚂蚁
对于java接口和抽象类区别,抽象类和接口的区别,很多网友还不是很明白,今天艾巴小编收集了这方面的知识,就将其分享出来。 操作方法:

java接口和抽象类区别,抽象类和接口的区别

对于java接口和抽象类区别,抽象类和接口的区别,很多网友还不是很明白,今天艾巴小编收集了这方面的知识,就将其分享出来。

操作方法:

1.接口,表面上是几个没有主体代码的方法定义的集合,有唯一的名称,可以被类或其他接口实现(或继承)。

2.接口是一组规则,它指定了实现该接口的类或接口必须具有的一组规则。它体现了自然界中“如果你是……,你一定能……”的思想。接口是相似事物在一定粒度视图上的抽象表示。注意,这里我强调的是,在某个粒度的视图中,因为“类似的东西”这个概念是相对的,因为粒度视图的不同而不同。

3.关于抽象类和接口,从具体代码的角度很容易模糊这两个概念,甚至认为接口是多余的,因为从具体函数的角度来看,除了多重继承(在C#、Java中),抽象类似乎完全取代了接口。但是,接口的存在是为了实现多重继承吗?当然不是。抽象类和接口的区别在于使用的动机。抽象类用于代码重用,而接口用于多态。

所以,如果你正在犹豫是在某个地方使用接口还是抽象类,你可以想想你的动机是什么。

4.总之,接口和抽象类的区别主要在于使用的动机,而不在于本身。一个东西应该定义为抽象类还是接口,取决于具体环境的上下文。再者,接口和抽象类的另一个区别是,抽象类和它的子类之间应该有一个一般和特殊的关系,而接口只是它的子类应该实现的一组规则。

(当然有时候可能会有一般和特殊的关系,但是使用接口的目的不在这里。)比如把交通工具定义为抽象类,把汽车、飞机、轮船定义为子类,都是可以接受的,因为汽车、飞机、轮船都是特殊的交通工具。再比如Icomparable接口,只是说实现这个接口的类必须具有可比性,这是一个规则。

如果car类实现了Icomparable,那只是说明我们的Car中有一个方法可以比较Car的两个实例,可能更贵,也可能更大,这都无所谓,但不能说“Car是一个特殊的种类来比较”,这在语法上是不合理的。

5.作为Android开发中最常用的组件之一,我们经常使用自定义适配器来实现我们的目标,所以编写自己的BaseAdapter是非常常见的,而重写BaseAdapter的目的就是为了编写更少的重复代码,实现我们想要的ListView()函数。这里,让我们来看看这个抽象类:

6.我们再来看看界面。接口的目的是使实现接口的对象以不同的方式实现相同的方法,而不是减少重复的代码。这里有一段缓存代码。该接口设置了缓存对象的规则,即实现缓存的对象必须实现接口中定义的方法,以保证缓存功能的完整性:

以上知识分享到此为止,希望能够帮助到大家!