今天要讲的是方法的参数传递,主要有值传递和参数传递;
值传递:将实际参数值的副本传入方法内,而实际参数本身不会受任何影响;
如果定义方法时包含了形参,则调用方法时必须给这些形参指定参数值,调用方法时实际传给形参的参数值也被称为实参。
public class TestTransfer
{
public static void changeAB(int a,int b)
{
int tmp=a;//实现参数a b的值的交换;
a=b;
b=tmp;
System.out.println("changeAB方法里的,a的值" + a+ ";b的值 "+b);//a=5;b=10;
}
public static void main(String[] args)
{
int a=10;
int b=5;
changeAB(a,b);//调用方法changAB()时,形参a、b值的交换,并不影响main方法中的实参a、b的值
System.out.println("交换后的a的值"+a+";b的值"+b);//a=10;b=5;
}
}
引用参数传递:
public class DateW
{
public int a;
public int b;
}
public class TestTransfer
{
public static void changeAB(DateW d)
{
int tmp=d.a;//实现参数a b的值的交换;交换各自的地址;
d.a=d.b;
d.b=tmp;
System.out.println("changeAB方法里的,a的值" + d.a+ ";b的值 "+d.b);//a=5;b=10;
}
public static void main(String[] args)
{
DateW d=new DateW();
d.a=10;
d.b=5;
changeAB(d);//调用方法changAB()时,形参a、b值的交换,这次改变的是a、b的地址,所以a、b值发生变化;
System.out.println("交换后的a的值"+d.a+";b的值"+d.b);//a=5;b=10;
}
}
其实值传递就是在一个方法里两个值交换,但只是在这个方法里改变,而没有改变他们本身的地址,只是将自己复制一份过去而已,所以在方法外输出
这两个值将还是原来的值,不会受到任何影响;
引用参数传递,在DateW类的对象存上a、b的地址,main给其赋值,而在changgeAB()方法里d对象分别把a、b的值产生交换,改变了他们原来的
地址,所以会产生变换,所以一旦地址发生改变,他们的值就会发生改变;恩恩
呼呼打酱油去喽!!!!!!!!!!!!!!!!!!!
分享到:
相关推荐
参数传递 单个参数传递 多个参数传递 传入单个实体(JavaBean/Map) 传入多个实体 传入集合 使用场景 在实际开发过程中,我们往往需要编写复杂的SQL语句,拼接稍有不注意就会导致错误,Mybatis给开发者提供了动态SQL,...
将参数传递给水晶报表
网页间参数传递例子网页间参数传递例子网页间参数传递例子网页间参数传递例子网页间参数传递例子
此文档为总结的Matlab GUI设计中,不同控件及不同GUI界面间的参数传递方法,希望对下载者有帮助。
kettle定时加载数据,并且实现多参数传递,高效处理复杂业务逻辑
c# 调用C++编写 的DLL函数各种参数传递问题。数据处理问题等等。
使用一般参数传递方式,实现简单计算器的加减乘除后端接口功能。 Http://localhost:8080/simplecalculator
用图片的和代码的方式解释指针参数传递内存
JNI 各种参数传递,基本数据类型,自定义对象,系统对象
一个简单的matlab GUI控件之间的参数传递实例,适用于数组、字符串等变量的参数传递,程序简单明了,可直接套用,适用于GUI初学者。
12.参数传递之值传递.zip12.参数传递之值传递.zip12.参数传递之值传递.zip12.参数传递之值传递.zip12.参数传递之值传递.zip12.参数传递之值传递.zip12.参数传递之值传递.zip12.参数传递之值传递.zip12.参数传递之值...
C++ 与C#之间的指针参数传递,实现无限量数据的传递,轻松无压力,方便在C++里面获取或者从C#传递数据到C++的动态库调用内。
本文档针对于Qt C++代码,包括窗体新建、窗体之间的参数传递等
13.java参数传递之引用传递.zip13.java参数传递之引用传递.zip13.java参数传递之引用传递.zip13.java参数传递之引用传递.zip13.java参数传递之引用传递.zip13.java参数传递之引用传递.zip13.java参数传递之引用传递....
VB过程中使用的参数分为实参和形参,简单的讲,在过程定义中给定的参数是形参,而在过程调用语句中给定的参数是实参。...对参数传递方式的正确判别是过程学习中的一个难点,也是等级考试中的一个考点
C#中两个窗体之间的参数传递,在一个窗体的文本框中输入数据,按确定后在另一个窗体中显示。
11.java参数传递.zip11.java参数传递.zip11.java参数传递.zip11.java参数传递.zip11.java参数传递.zip11.java参数传递.zip11.java参数传递.zip11.java参数传递.zip11.java参数传递.zip11.java参数传递.zip11.java...
c# 参数传递,参数调用,在运行处输入,程序路径+要传递的值,即可打开程序,在界面上显示值
c#参数传递 c#参数传递 c#参数传递 c#参数传递 c#参数传递 c#参数传递
C语言 函数调用 参数传递机制 探讨 txt