[转] 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  艾玛电动臀  阅读(453)  评论(0)    收藏  举报