值传递 java 形参和实参

213 阅读1分钟


  • 形参:方法被调用时需要传递进来的参数,如:func(int a)中的a,它只有在func被调用期间a才有意义,也就是会被分配内存空间,在方法func执行完成后,a就会被销毁释放空间,也就是不存在了
  • 实参:方法被调用时是传入的实际值,它在方法被调用前就已经被初始化并且在方法被调用时传入。
  • public static void func(int a  //形参){
         a=20; 
        System.out.println(a);
    }

    public static void main(String[] args) { 
        int a=10;//实参
        func(a);
    }

    1, 针对对象 来说 虽然也是拷贝的值 但这个值是对象的地址啊  你根据对象的地址找到了对象 把对象的值改变了 自然 另一个栈中对象的值也改变了呀

    2,普通数据类型  直接拷贝值到另一个栈帧  然后 这个定义在参数的作用域只在这个局部方法内,出了这个栈帧,再 回到另一个栈帧 你做的更改就不复存在了。