参数传递

简介: Java中的参数传递机制:值传递机制形参是基本数据类型的:将实参的值传递给形参的基本数据类型的变量 形参是引用类型的:将实参的引用类型变量的值(对应的堆空间的对象实体的首地址值)传递给形参的引用类型变量。

Java中的参数传递机制:值传递机制

  1. 形参是基本数据类型的:将实参的值传递给形参的基本数据类型的变量
  2. 形参是引用类型的:将实参的引用类型变量的值(对应的堆空间的对象实体的首地址值)传递给形参的引用类型变量。
class Value {
int i = 15;
}
public class Test {
	public static void main(String argv[]) {
		Test t = new Test();
		t.first();
		}
	public void first() {
		int i = 5;
		Value v = new Value();
		v.i = 25;
		System.out.println("first.v="+v);
		second(v, i);
		System.out.println("first.v="+v);
		System.out.println(v.i);
		}
	public void second(Value v, int i) {
		i = 0;
		System.out.println("v="+v);
		v.i = 20;
		Value val = new Value();
		v = val;
		System.out.println("val="+val);
		System.out.println("v="+v);
		System.out.println(v.i + " " + i);
		}
}

 运行结果:

first.v=day07.Value@2d554825
v=day07.Value@2d554825
val=day07.Value@68837a77
v=day07.Value@68837a77
15 0
first.v=day07.Value@2d554825
20

String类对象的传递:

package day07;

public class Test {
	public static void main(String[] args) {
		String msg = "hello";
		fun(msg);
		System.out.println(msg);
	}
	public static void fun(String temp) {
		temp = "Hello world";
	}
}

运行结果:

hello

String类的对象内容发生变化时会自动创建新的堆内存空间来存储变化后的内容;在本例中局部引用类型temp在fun()方法结束后将失效,其对应的堆内存也将无栈内存指向,成为垃圾。

目录
相关文章
|
3月前
|
存储 C语言
C 语言函数完全指南:创建、调用、参数传递、返回值解析
函数是一段代码块,只有在被调用时才会运行。 您可以将数据(称为参数)传递给函数。 函数用于执行某些操作,它们对于重用代码很重要:定义一次代码,并多次使用。
94 3
|
JSON 前端开发 数据格式
四种常见的参数传递方式
四种参数传递方式
135 0
|
7月前
|
C++ Python
Python函数参数传递:传值还是传引用
Python函数参数传递:传值还是传引用
39 0
|
8月前
|
JavaScript 前端开发
函数 定义,调用,传参,箭头函数、闭包
函数是一段可重复使用的代码块,可以接受参数(可选)并返回一个值(可选)。在JavaScript中,函数可以通过以下步骤进行定义、调用和传参。
|
9月前
|
数据处理
参数传递是什么?参数传递的是什么?
避免代码冗长,防止代码的仿佛书写。前面的博客中有说明,这里不做过多赘述
|
C语言
函数传址调用的基本解析
函数传址调用的基本解析
89 0
函数传址调用的基本解析
|
JavaScript
js函数的返回值 / 回调函数 / 函数变量
js函数的返回值 / 回调函数 / 函数变量
43 0
js函数的返回值 / 回调函数 / 函数变量
|
编译器 C++
C++函数参数传递的三种方式
C++函数参数传递的三种方式
163 0
|
存储 Java Go
函数参数的传递方式 | 学习笔记
简介:快速学习函数参数的传递方式
72 0
函数参数的传递方式 | 学习笔记