黑马程序员技术交流社区

标题: 关于创建类的实例问题 [打印本页]

作者: 颜庭飞    时间: 2011-10-13 22:20
标题: 关于创建类的实例问题
       打个比方:
    有的程序会直接写new Dog();有的程序则需要写 Dog dog = new Dog();请问有什么区别?有区别的话都分别在什么时候用?
作者: 伍碧林    时间: 2011-10-13 22:31
本帖最后由 伍碧林 于 2011-10-13 22:32 编辑

普通申明一个对象是这样的
Dog dog = new Dog();
那么这个时候dog就是类Dog的一个对象,这个对象名字就是dog
再来看下面一个例子:
method(Dog dog);
整理method是一个方法,他需要传递一个对象来作为参数,那么这个时候有2种方法:
方法1:
Dog dog = new Dog();
  method (dog);
方法2:
method (new Dog());
方法2中new Dog()就是一个匿名对象,他没有名字。这样可以理解了吧。
至于匿名对象一般用在什么地方,应该是需要的时候就用吧.
作者: zhangxinxin    时间: 2011-10-14 01:11
本帖最后由 zhangxinxin 于 2011-10-14 01:12 编辑

New Dog()
创建一个Dog的对象,但它又是个匿名对象,就是没有引用变量指向它,相当于没有名字,我们不方便使用这个对象,在程序中只能使用一次,如果再想找这个对象使用它,没法找。不知道它的地址在哪。
Dog dog=new Dog()
创建一个Dog的对象,使用引用变量dog指向它。就是在dog中有了这个对象的地址,当我们创建完这个对象后,方便通过p找到这个对象。
在什么时候用,我也不太清楚。我的理解是,你如果只想得到Dog类的对象,用一次就完事,那就用匿名对象。如果还要再次用到这个类的对象,你就要定义一个引用对象,引向它,方便查找。可能还有别的区别,你可以再找资料查证一下。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2