我知道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
按默认排序 | 按时间排序
其他3条回答
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是所有类的父类,其思想和这个例子完全一样,好好理解一下,具体的你可以看继承和多态这两节,看完这两节那对这个知识就非常明白了!