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

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

2010-12-29 09:58 pengbo_yin  |  分类:其他编程语言  |  浏览27763次
我知道Object是所有类的基类。我想知道,比如在定义放法的时候:方法的参数定义成:Object... objects 和Object[] obj 有什么区别? 注意前一个Object 后面的三个“.”。
2010-12-29 15:43 提问者采纳
Object是所有类的基类,这个你可以查询jdk文档了解,所有类都继承自Object。

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

Object[] obj这样的形式,就是一个Object数组构成的参数形式。说明这个方法的参数是固定的,是一个Object数组,至于这个数组中存储的元素,可以是继承自Object的所有类的对象。
这些基础东西建议你多看几遍"Think in java"
希望我的回答对你有所帮助。
提问者评价
谢谢了,我自己测试了一下,发现了。
评论(12)  |  123  6

zpsailor | 来自团队 IT-启明星 | 九级 采纳率41%

擅长: 系统软件 JAVA相关 数据库DB 诗歌 其他编程语言

按默认排序 | 按时间排序

其他3条回答

2010-12-29 10:19 baoquan1412  | 八级
java中Object是所有java类(包括自定义类)的父类。
Object的出现多用在多态上,目的就是使编写的程序有更大的通用性。
例子:
public class 动物类{
      .......
}
public class 猫类 extends 动物类{
     public string 叫声;
      .......
}
public class 狗类 extends 动物类{  
     public string 叫声;
     ........
}
这里,猫类和狗类都是动物类的子类
现在我们有一个类,这个类有一个方法,要求打印猫的叫声
public class 猫叫声类{
       public void jiao(猫类 mao){          //这里有一个猫类对象作为参数
             System.out.println(mao.叫声);//这样就可以获得猫类的叫声属性
       }
}

现在我们有一个类,这个类有一个方法,要求打印狗的叫声
public class 狗叫声类{
       public void jiao(狗类 gou){          //这里有一个狗类对象作为参数
             System.out.println(gou.叫声);//这样就可以获得狗类的叫声属性
       }
} 

看到这里,是不是发现点什么问题了。这两个类几乎是完全相同的,就是jiao这个方法的参数不同,分别是猫和狗。那我们有没有什么办法,使这个类中的方法适合这两种情况呢,你是猫,我就打印猫的叫声,你是狗我就打印狗的叫声,这样不就方便多了吗?
这个就是父类对象的好处了。
public class 叫声类{
       public void jiao(动物类 dongwu){          //这里有一个动物类对象作为参数
             System.out.println(dongwu.叫声);//这样就可以获得具体类的叫声属性
       }                                                             //这地方有一个多态的性质,你相应的
}                                                                         //看这节内容
这个类写完,如果你穿过来的参数是一个狗类,大舅打印狗的叫声,如果你穿过来的是一个猫类,他就打印猫的叫声。
现在你应该明白,父类引用其实就是为了程序更加通用,这里举得是我们自定义的一个类。
object是所有类的父类,其思想和这个例子完全一样,好好理解一下,具体的你可以看继承和多态这两节,看完这两节那对这个知识就非常明白了!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值