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

java多态

程序员文章站 2023-10-29 10:36:58
Java多态就是为了降低耦合,方便我们开发的一种特性。 比如我写了一个动物的接口。然后我通过接口实现了猫和狗这个类。 在我需要使用的时候我可以这样实例化对象 动物 w = new 猫。 这就是向上转型。 这里就有一点疑问了,我们开发人员为啥不直接写个猫和狗的类。为啥偏偏要写一个接口。这不是在多此一举 ......

java多态就是为了降低耦合,方便我们开发的一种特性。

比如我写了一个动物的接口。然后我通过接口实现了猫和狗这个类。

在我需要使用的时候我可以这样实例化对象

动物 w = new 猫。

这就是向上转型。

这里就有一点疑问了,我们开发人员为啥不直接写个猫和狗的类。为啥偏偏要写一个接口。这不是在多此一举吗?

 

下面就我个人理解,仅供参考。

java是什么,是一个面向对象的工程型语言。这意味着啥,这意味着我们可能几十个人,或者几百个人一起开发同一个项目。

一个人有一个自己的开发习惯,如果我们所有人开发人根据需求,自己搞自己的代码块或者功能。那万一我们几十个人写完了发现,我靠,怎么代码合在一起的时候怎么到处都是错(变量,方法名不一致等等),程序跑不动了呀。

这样一搞,说个屁,效率多低呀。不行,不能这样搞开发。

然后就要有个开发项目的规范,刚才说了,每个开发人员有自己的开发习惯,那怎么规范嘛?这时候,就需要大佬上场了。谁来当老大嘛,没办法,就找那个头发最少的,写代码写的最多的人来当标准吧。

这样也可以服众,毕竟人家是前辈,人家代码写的多,把他来当标准,没啥问题。

那么问题来了,具体怎么规范呢?这时候就需要接口这个概念了。

那个头发最少的大佬,来写项目的规范(接口),那些接口里面有我们普通开发人员必须要实现的方法和变量。

打个比方我是这个大佬(小声bb),我写个接口,然后别人来实现我的接口。这时候别人所实现的接口的方法名和重要变量名全是我说了算,我喜欢驼峰规则的命名,他实现的时候一个字母都不能改。如果改了,当时开发工具就会提醒你在乱搞,就会报错就可以及时纠正。不像开始那样,一个人喜欢用驼峰英文,另一个人喜欢拼音。自己搞的时候没问题啊,结果到最后和别人的代码一起的时候就错了,这个就容易出问题。效率太低了。

所以在我看来,接口就是大佬发给普通开发人员的任务列表,接口里面的方法就是开发人员需要去做的任务。必须完成,不然没工资。如果你自己去找任务做,不看我的任务列表(接口)。结果出问题领不到工资,这可是你的责任,赖不着团队。搞不好团队还要找你麻烦,耽误我们开发进度。

这就是我对接口的理解。

接口的作用在于大项目的多人协同开发,可以分工和最后统一代码。你来实现这个接口,我来实现这个接口(分工),最后上交工作成果的时候,大佬一看,嗯,是服从的我的开发规范,按道理是不会出问题的。

当然,你自己一个人或者人少的时候写小项目,不用接口,也是可以的啊。没问题。

参考链接: