Object...与Object[]使用的一点区别和记录

 

Object是所有类的基类

 

简述:

 

Object ...objects(称为可变个数的形参)这种参数定义是在不确定方法参数的情况下的一种多态表现形式。Java可变参数,即这个方法可以传递多个参数,这个参数的个数是不确定的。这样你在方法体中需要相应的做些处理。因为Object是基类,所以使用Object ...objects这样的参数形式,允许一切继承自Object的对象作为参数。这种方法在实际中应该还是比较少用的。

Object[] obj这样的形式,就是一个Object数组构成的参数形式。说明这个方法的参数是固定的,是一个Object数组,至于这个数组中存储的元素,可以是继承自Object的所有类的对象。

 

使用区别:

 

当形参为Object[]数组时,调用该方法必须为一个数组

当形参为Object...objects时,调用就相当灵活了,可以不带参数,可以带一个参数或者多个参数,也可以带数组作为参数

 

小结:

一个方法里,只能有一个”…”这样的可变参数,而且置于最后(方法重载匹配策略原因)

一个方法的参数很难考虑完整或者组内相同类型参数很多,采用此方法,可使代码更加优雅,同时,修改时只需改动实现类即可

 

参考来自:https://blog.csdn.net/ftd1314/article/details/80601942

    https://blog.csdn.net/Qiuzhongweiwei/article/details/80784257

    https://blog.csdn.net/qq_37150783/article/details/78525587

posted @ 2018-10-30 11:20  AloeAndClover  阅读(2537)  评论(0编辑  收藏  举报