没有引用的对象也能传递?

解决方案 »

  1.   

    FlowLayout layout = new FlowLayout();+--------+       +------------------+
    | layout | ----> | new FlowLayout() |
    +--------+       +------------------+layout 中只是存放了所引用对象的首地址,在传参时只是把这个地址传进去了,
    而匿名引用时传入的也是它的首地址
      

  2.   

    引用是一块内存区间的首地址....如果是C中的CHAR[],能更清晰地说明...自从引入了对象,很多东西都不底层了..反而不好理解
    顺便蹭果果一点分
      

  3.   

        引用(句柄)的内容就是所生成的对象在堆内存中的空间的首地址,所以直接使用实例化的对象作为参数传递过去也一样,就是一个对象的首地址。
        ClassName e = new ClassName();
        这个语句做了三件事:
        1、ClassName e 声明了一个引用
        2、new ClassName()实例化了一个类,就是产生了一个对象
        3、而 = 号就是将实例化出来的对象的首地址赋给 句柄e。
        这样说你明白了吧?
        所以就算没有句柄,new ClassName()也是可以直接作为参数传递的。