java中Object... 的用法是什么意思?

java中Object... 的用法是什么意思?,第1张

居然 整个楼里面都答非所问了   看我的看我的哦  提问者都说的这么清楚了

这个问题很好

日常使用不定参数时候基本是Object...可以等同于 Object[] obj一维数组理解的

数组本质是连续的指针地址  其中数组的头指针是必须的    但是二者的不同在于何处呢?

很明显 

Obj...是针对方法传入参数的  即只能在method()内使用

即  不定参数只能作为方法的形参,不能用作变量

然后你看我建立2个test犯法

然后你看我用这些方法

什么意思呢     看到编译器报错了?

public viod method(Object[] obj)

必须传入已经初始化的数组  而已经初始化的数组是定常度的  所以实际没有实现真正的变长度参数

public viod method(Object...)  直接传入内容即可  其中的OBJ...对象是存在指针的

你看我运行一下 控制台打印的text  text1 传入的 Sring[]a指针地址

java的 数组结构在jvm的堆和栈上是不同的  但是我个人没有理解这问题如果提问者了解欢迎回复我

有关不定参数的使用

public viod method(Object[] obj,Object...)   {

Obj *** 了自己;

}

不过,不定参数有两个规定:第一,方法的参数列表中最多只有一个不定长度的参数;第二,就是不定长度的数组的位置必须是最后一个参数。不然不能通过编译。 

Object是所有类的基类,这个你可以查询jdk文档了解,所有类都继承自Object。

1.Object类是所有类的父类,位于java.lang包中。

2.数组也是Object类的子类。

3.Object类的常用方法有:

toString()

equals()

hashCode()

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

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

这些基础东西应该多看几遍"Think in java"。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11321553.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存