[转] C++的引用传递、指针传递参数在java中的相应处理方法

原文出处:[http://blog.csdn.net/conowen/article/details/7420533]

首先要明白一点,java是没有指针这个概念的。

但是要实现C++的引用传递、指针传递参数的话,也可以用数组的方式来实现。就是是一个int类型,也可以用一个元素的数组实现。

或者也可以用全局变量的方式。(静态变量)

package com.conowen; 
import android.app.Activity;  
import android.os.Bundle;  

public class TestActivity extends Activity {  
/** Called when the activity is first created. */  
@Override  
public void onCreate(Bundle savedInstanceState) {  
    super.onCreate(savedInstanceState);  
    setContentView(R.layout.main);  

    byte word[] = new byte[10];  

    int num[] = new int[1];  

    fun1(word, num);  
    System.out.println("最后的num[0]值----->" + num[0]);  
    System.out.println("最后的word[1]值----->" + word[1]);  
}  

void fun1(byte[] word, int[] num) {  

    // do something  

    num[0] = 2;  

    word[1] = 'a';  

    System.out.println("在fun1的num[0]值------>" + num[0]);  
    System.out.println("在fun1的word[1]值------>" + word[1]);  
    fun2(num);  

}  

void fun2(int[] num) {  

    // do something  

    num[0] = 1;  
      
    System.out.println("在fun2的num[0]值------>" + num[0]);  

}  
}

//04-01 21:57:23.320: I/System.out(1999): 在fun1的num[0]值------>2
//04-01 21:57:23.320: I/System.out(1999): 在fun1的word[1]值------>97
//04-01 21:57:23.320: I/System.out(1999): 在fun2的num[0]值------>1
//04-01 21:57:23.320: I/System.out(1999): 最后的num[0]值----->1
//04-01 21:57:23.320: I/System.out(1999): 最后的word[1]值----->97

posted @ 2016-10-30 01:32  艾玛电动臀  阅读(430)  评论(0编辑  收藏  举报