参数传递

简介: 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()方法结束后将失效,其对应的堆内存也将无栈内存指向,成为垃圾。

目录
相关文章
|
2月前
|
Shell PHP
escapeshellarg() 函数
escapeshellarg() 函数
|
4月前
|
C++
c++常见函数及技巧
C++编程中的一些常见函数和技巧,包括生成随机数的方法、制表技巧、获取数字的个位、十位、百位数的方法、字符串命名技巧、避免代码修改错误的技巧、暂停和等待用户信号的技巧、清屏命令、以及避免编译错误和逻辑错误的建议。
39 6
|
7月前
|
算法 编译器 C语言
函数—C(下)
函数—C(下)
58 0
|
6月前
|
C++
C++一分钟之-函数定义与调用
【6月更文挑战第19天】在C++中,函数是代码复用的关键,它们促进模块化和可读性。了解函数定义(返回类型、函数名、参数列表和函数体)和调用至关重要。示例中展示了如何定义如`add`的函数及如何调用。常见错误包括参数类型不匹配、缺少原型声明、忽略返回值和误解函数重载。通过正确声明、匹配类型、处理返回值和理解重载规则,可以避免这些问题。实战代码示例演示了良好实践。
61 1
|
7月前
|
XML 存储 JavaScript
loadXMLString() 函数
`loadXMLString()` 是一个JavaScript函数,用于在不同浏览器环境下解析XML字符串。它使用DOMParser在支持的浏览器中解析,而在IE中则使用ActiveXObject。函数接受XML文本作为参数,返回解析后的XML文档。此函数适用于HTML页面的<script>标签内,方便在页面中重用,尤其在处理XML实例时。
|
存储 C语言
对函数的剖析二
对函数的剖析二
54 0
|
编译器 C语言
对函数的剖析一
对函数的剖析一
38 0
|
算法 程序员 信息无障碍
从零带你认识函数(二)
从零带你认识函数
89 1
|
前端开发
纯函数
纯函数
81 0
|
算法 编译器 API
8.函数
8.函数
76 0