欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Java

抽象类与接口的定义与区别

程序员文章站 2022-03-31 15:39:18
...

1.什么是抽象类?

如果多个类具有相同性质的行为,比如,人行走,动物行走,行走就是人与动物两个不同的类中性质相同的行为,为了便于管理,可以将这些行为抽象出来集中到一个类中,这样就产生了一个集中了多个类共同行为的类,这个类就是抽象类。

2.什么是接口?

两个类不仅有相同性质的行为,还有不同性质的行为,比如,人睡觉,鸟儿睡觉,鸟儿飞翔,睡觉是人与鸟共同的行为,可以定义到抽象类中,而飞翔不是人与鸟共同的行为,不可以定义到抽象类中,可以把这个非共享行为定义到一个特殊的类中,这个特殊的类就是接口。

3.区别

以n个类为研究对象,n个类共同的行为定义在抽象类中,部分类共享而共享类数目未达到n的行为定义在接口中。

抽象类反映的是整体的共性,接口反映的是局部的共性。

抽象类与接口的选择取决于关注的范围。如果关注的范围很小,这个小范围内的对象所抽象出的类的行为都相同,可以使用抽象类管理共同的行为。如果关注的范围比较大,在这个大范围内,某些行为只为部分对象所共享,那么这些行为只能定义在接口中。

以上就是抽象类与接口的定义与区别的详细内容,更多请关注其它相关文章!