黑马程序员技术交流社区

标题: 匿名对象 [打印本页]

作者: 王雷    时间: 2012-9-27 12:47
标题: 匿名对象
只知道是没有名字的对象,具体的不是特别理解,求大神赐教赐教,急急急
作者: 李祖庆    时间: 2012-9-27 13:15
  匿名对象:是对象的简化形式
      使用方式一:当对对象的方法只调用一次时,可以用匿名对象来完成,
                    这样写比较简化。如果对一个对象进行多个成员调用,必
                    须给这个对象起个名字。
      使用方式二:可以将匿名对象作为实际参数进行传递。

package com.lzq.toobjectdemo;
public class CarDemo {
    public static void main(String[] args) {
        //建立对象:通过new来操作
        Car c = new Car();//c是一个类类型变量。记住:类类型变量指向对
        //匿名对象
        new Car().num = 5;
        new Car().color = "blue";
        new Car().run();//red..4
        show(new Car());
    }
   
    public static void show(Car c){
        c.num = 3;
        c.color = "black";
        c.run();
    }
}
class Car{
    String color = "red";
    int num = 4;
    void run(){
        System.out.println(color+".."+num);
    }
}


作者: 冯培军    时间: 2012-9-27 13:39
本帖最后由 冯培军 于 2012-9-27 13:40 编辑

一般来说,声明一个对象是这种方法:
A a  = new A();
那么这个时候a就是类A的一个对象,这个对象名字就是a。
像下面这个例子:method(A a);
这里的method是一个方法,他需要传递一个对象来作为参数,
那么这个时候有2种方法:
方法1: A a =new A();  method (a);
方法2: method (new A());
其中方法2中new A()就是一个匿名对象,他没有名字。



作者: 王贵朝    时间: 2012-9-27 13:48
匿名对象就是没有引用变量来引用的的对象,在堆中有实体存在。




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