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

BSO 2020-11-27 13:52:35 java常见问答 6446

上次已经为大家介绍过java中抽象类和普通类的区别在哪的主要内容了,今天再来介绍一些与之相关的内容,也就是抽象类和接口使用的情况,一起来看看吧。

首先说一下概念的区分。

接口是对动作的抽象,抽象类是对本质的抽象。

另外,抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。

比如,男人和女人,他们的抽象类是人类,而猫和狗的抽象类是宠物类。人类可以吃东西,宠物类也可以吃东西,但是两者不能混为一谈,因为有本质的区别。这个“吃东西”是一个动作,你可以把“吃东西”定义成一个接口,然后让两个类去实现它的方法。

因此,在高级语言上,一个类只能继承一个类或抽象类,正如人不可能同时是动物类又是植物类,但是可以实现多个接口,例如,吃饭接口、呼吸接口等。

然后再来说一下,使用情况

1、抽象类和接口都是用来抽象具体对象的,但是接口的抽象级别最高;

2、抽象类可以有具体的方法和属性, 接口只能有抽象方法和不可变常量(final);

3、抽象类主要用来抽象类别,接口主要用来抽象功能;

4、抽象类中不包含任何实现,派生类必须覆盖它们。接口中所有方法都必须是未实现的;

5、抽象类实现接口时,接口的方法在抽象类中可以被实现也可以不被实现,而普通实现接口必须实现所有接口方法。

最后说一下,使用方向

1.当你关注一个事物的本质的时候,用抽象类;

2.当你关注一个操作的时候,用接口。

总体上来说,抽象类的功能要远超过接口,但是,定义抽象类的代价高。因为高级语言来说(从实际设计上来说也是)每个类只能继承一个类。

所以,在这个类中,你必须继承或编写出其所有子类的所有共性。虽然接口在功能上会弱化许多,但是它只是针对一个动作的描述。而且你可以在一个类中同时实现多个接口。在设计阶段会降低难度的。

以上就是关于java抽象类与接口使用情况是怎样的主要说明了,具体情况具体分析。如果你想要了解更多java基础知识,敬请关注奇Q工具网。

推荐阅读:

java接口调用是什么?方法表是什么?

java中多态怎么实现接口?实例展示

java枚举中实现接口和使用接口,实例展示