/********************************************************************************************
* author:conowen@大钟
* E-mail:conowen@hotmail.com
* http://blog.csdn.net/conowen
* 注:本文为原创,仅作为学习交流使用,转载请标明作者及出处。
********************************************************************************************/
首先要明白一点,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