JAVA怎么在函数内改变传入的值

public class TestInt 
{
    public int aa(int i)
    {
        return i+4;
    }
    public static void main(String [] args)
    {
        int i=3;
        aa(i);
        System.out.println(i);
    }
}

主函数main()这个静态方法无法
引用非静态方法 aa(int)的。
函数调用时,参数传递的方式主要有两种: 值传递和引用传递。
Java使用的是值传递。值传递是把变量的值、常数或常量传递给参数。而引用传递,是把变量的所在内存中的地址传递给参数,参数通过地址找到变量的值。
无论是在C、c++还是java中传值是无法改变实参的值的,
就比如要交换两个整型数的值。
java中得通过传引用的方式改变实参的值。
所以可以传通过数组这种引用方式来改变实参的值!

public class TestInt { 
    public static void aa(int[] i) { 
        i[0] += 4; 
    } 
    public static void main(String [] args) {
        int[] i= {3}; 
        aa(i); 
        System.out.println(i[0]); 
    }
}

 

posted @ 2016-05-09 10:20  kuqs(奇小东)  阅读(5520)  评论(0编辑  收藏  举报