A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王雷 中级黑马   /  2012-9-27 12:47  /  1188 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

只知道是没有名字的对象,具体的不是特别理解,求大神赐教赐教,急急急

3 个回复

倒序浏览
  匿名对象:是对象的简化形式
      使用方式一:当对对象的方法只调用一次时,可以用匿名对象来完成,
                    这样写比较简化。如果对一个对象进行多个成员调用,必
                    须给这个对象起个名字。
      使用方式二:可以将匿名对象作为实际参数进行传递。

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);
    }
}

评分

参与人数 2技术分 +1 黑马币 +1 收起 理由
黑幕 + 1 赞一个!
创出一片辉煌 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 冯培军 于 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()就是一个匿名对象,他没有名字。


回复 使用道具 举报
匿名对象就是没有引用变量来引用的的对象,在堆中有实体存在。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马