http://expert.csdn.net/Expert/topic/1434/1434568.xml?temp=.2401239
看看这个吧!我们是一起的:)

解决方案 »

  1.   

    以上实现直接用java就可以了呀?
      

  2.   

    int age=11;void set(&aaa)
    {
      aaa=12;
    }
    这样怎么用,谢谢先。
      

  3.   

    所谓的传引用,其本质还是传值。所以JAVA只有一种传递参数的方式---传值!但是这个值的概念有两层含义:
    我假设大家明白什么是传值,其实就是传一个拷贝。
    1.对于简单类型,如int,boolean,short等等,就是简单的传值。
    2.对于对象类型(也可以说是复杂类型),Java传的是对象的地址的值(还是传值)。原因如下:
    第一的原理就不说,大家都懂。
    第二的道理是这样的,先看个例子:
    (1)
    class A
    {
       int X = 0;
       void printX()
      {
       System.out.println("The value of X: " + X);
       }
    }public class test
    {
         public static void main(String[] args)
         {
             A ObjectA = new A();
             ObjectA.X = 123;
             System.out.println("The initialize value X = " + ObjectA.X);         byValue(ObjectA);
             System.out.println("After the byValue: X = "+ ObjectA.X);         byReference(ObjectA);
             System.out.println("After the byReference: X = " + ObjectA.X);
         }     public static void byValue(A a)
         {
             a = new A();
             a.X = 10;
             a.printX();
         }     public static void byReference(A a)
         {
             a.X = 20;
             a.printX();
         }}
    说明:其实所谓的对象传引用就是传递对象的地址值。我们可以从byValue函数看到,尽管改变了对象a所的指向,但是这样的变化并没有体现在传入变量ObjectA上这是为什么呢?就是因为Java的函数传递的是对象的地址,也就是传递对象值的拷贝。a和ObjectA根本就两块内存,虽然他们一开始内容一样,都指向同一块内存,但是,改变对象地址变量a的内容并不会影响ObjectA的内容,a实际上是ObjectA的拷贝。这就是传值的本质了。第二个函数byReference看起来是不是有些让人困惑。其实,还是传值,因为这个函数里的a变量还是ObjectA的拷贝,但是他们始终是指向同一个对象的。因此,改变了a.X的值也就是改变了ObjectA.X的值。总结,前面说的都是废话,现在开始回答搂主的问题:问:请问java怎么实现传递引用?
    答:java从来就不支持传递引用,Java对于对象的传递其实是传递对象的地址值,本质就是传值,对于简单类型的传递还是传值。Java里面一切都是对象,一切都是传值。(后面那句是我加的,呵呵)
      

  4.   

    java 类似C 指针的是HASHTABLE OR HASHMAP : PUT VALUE (KEY,VALUE) 取VALUE 可以通过 GET(KEY)得到VALUE.