方法形参操作改变传入前实际参数。

原创 2015年11月21日 12:16:05

记住一点!    形参是否跟实际参数是一个对象地址,     也就是栈中的对象引用地址是否为同一个;


例如      

public class Test1 {
public static void changeStr(String str){
str=”4321”; //查询常量池中没有4321 所以创建一个对象,  此时的str  已经不是主函数里面的str。
}
public static void main(String[] args) {  //入口处
String str=”1234″
changeStr(str);
System.out.println(str);
}
输出结果为  1234   方法changeStr并没有改变 主函数中的str;只是改变他方法内str对象

再例如:

public  class  Car  {
	public String name;
}
public static void changeCarName(Car car){
	car.name="新车";              //是直接操作 形参的对象 并没有 创建新对象操作 ;
}
public static void main(String[] args) {
	Car car= new Car();
	car.name ="旧车";
	changeCarName(car);
	System.out.print(car.name);
}
输出“新车”          :

版权声明:欢迎你来转载,不过请带个此Blog链接!

相关文章推荐

C# 实例对象作为参数传递与方法内部的形参关系

在此之前,我们先看一段程序: class Program     {         static void Main(string[] args)    ...

java学习总结(16.05.24)向main方法的形参传递参数的方法

java中main方法有一个字符串数组型的形参args,因为main方法是由系统调用的,程序员向其传递参数的手段也有所不同。下面介绍两种将数据传递给main方法的args形参的方法。 在使用命令行...

javascript传入参数,引用or形参

1.JavaScript hoisting   >>请看例子,我们拿Chrome的console作为JS的运行环境。 上面直接执行console.log(a), 不带一点悬念地抛出了not ...

java中形参String的可变参数的定义(String...)

现在我们在编程的时候,经常会出现这样子一些方法: Java代码  public void paintReportChart(int i, String… args) {     &...

二维数组作为形参的参数传递问题

首先,我引用了谭浩强先生编著的《C程序设计》上面的一节原文,它简要介绍了如何将二维数组作为参数传递,原文如下(略有改变,请原谅):   [原文开始]   可以用二维数组名作为实参或者形参,在被...

java中形参的可变参数的定义(如String... args) .

如果有下面的一个笔试题:已知我们有如下的调用关系 logIt(”log message 1 “); logIt(”log message2”, ” log message3”); logIt(”...

C++7.2.1 参数传递--非引用形参

简介 每次调用函数时,都会重新创建该函数所有的形参,此时所传递的实参将会初始化对应的形参。当用实参副本初始化形参时,函数并没有访问调用所传递的实参本身,因此不会修改实参的值。 非引用形参表示对应实参的...

三级指针作形参(命令行参数处理)

情境: 用argv接收命令行参数,由函数targv的三级指针接收并处理参数 指针作形参: 当把一个数组定义为函数的参数时,既可以把它定义为数组,也可以定义为指针。但不管定义成什么,在函数内部都只...

Java参数传递过程中 传形参和传引用问题讨论

简述: 对于java中传递的参数, 分为两类,基本数据类型作为参数,如int,double等 以及 以某个对象类作为参数进行传递,在函数中修改参数的结果是不同的 1. 基本数据类型传递的是值...
  • anialy
  • anialy
  • 2012-09-30 23:19
  • 1246
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)