数组

无论使用的数组属于什么类型,数组标识符实际都是指向真实对象的一个句柄(浅复制)。那些对象本身是在内存“堆”里创建的。堆对象既可“隐式”创建(即默认产生),亦可“显式”创建(即明确指定,用一个new表达式)。

    Weeble[] a; // 句柄a未初始化。此时,编译器会禁止我们对这个句柄作任何实际操作,除非已正确地初始化了它。

    Weeble[] b = new Weeble[5]; // 数组b被初始化成指向由Weeble句柄构成的一个数组,但那个数组里实际并未放置任何Weeble对象。然而,我们仍然可以查询那个数组的大小,因为b指向的是一个合法对象。

    //!System.out.println("a.length=" + a.length);//编译出错,因为数组里的句柄没有被初始化

    System.out.println("b.length = " + b.length);//数组里的句柄默认初始化为null,b.length = 5

    Weeble[] c = new Weeble[4];

    for(int i = 0; i < c.length; i++)

      c[i] = new Weeble();//c初始化,数组c显示出我们首先创建一个数组对象再将Weeble对象赋给那个数组的所有“空位”。

    Weeble[] d = {//d初始化,数组d揭示出“集合初始化”语法,全部工作在一条语句里完成。

      new Weeble(), new Weeble(), new Weeble()

    };  

    System.out.println("c.length = " + c.length);//c.length = 4

    System.out.println("d.length = " + d.length);//d.length = 3

    a = d;// ad指向内存堆内同样的数组对象

System.out.println("a.length = " + a.length);//a.length = 3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值