java参数传递

原创 2013年12月05日 01:54:33

java的参数传递是只有一种方式,就是按值传递。

虽然在参数为对象的引用的时候会让人感觉按照引用传递。其实我们没必要去扣这些细节,到底是按按引用传递还是按参数传递,以一种方式来衡量就够了,那就是形参引用的改变是否会对实参引用带来改变。这里注意,是引用的改变,而不是引用所指向的对象的改变。毫无疑问,形参引用和实参引用所指向的为同一个对象。但是让形参指向另外一个对象的话,实参所指向的对象还是不变。这点就充分说明了java中参数的传递为传值。


import java.util.ArrayList;
import java.util.List;

/**
 * Hello world!
 *
 */
public class App 
{
	public String my;
	
	public App(String content) {
		my = content;
	}
	
	public String toString() {
		return my;
	}	
	
    public static void main( String[] args )
    {
    	List<App> appList = new ArrayList<App>();
    	App a = new App("a");
    	App b = a;
    	appList.add(b);
    	App c =new App("c");
    	b = new App("d");
    	appList.add(b);
    	b = new App("f");
    	appList.add(b);
    	System.out.println(appList.get(0));
    	System.out.println(appList.get(1));
    	System.out.println(appList.get(2));
    }
}

最后打印出来的值为:

a

d

f


很显然 对象引用b的改变,没法对已经在appList中的对象引用起到作用。因为appList中存的是引用b的拷贝。

Java基础(五)Java中的参数传递机制

通过前一篇文章的介绍,我们从整体上明白了,Java类中变量的差异性、不同变量在内存中的存储位置,以及变量的生命周期等。今天,我们来看一下Java中参数传递的机制。 形参:方法声明时包含的参数声明 ...
  • liu765023051
  • liu765023051
  • 2015年08月11日 16:02
  • 5869

Java只有一种参数传递机制------按值传递

Java中并没有传递引用这一说,只有一种参数传递机制,就是按值传递 首先,最主要要强调的一点就是,Java 应用程序有且仅有的一种参数传递机制,并没有传递引用这一说。造成这一误解,主要是因为有这么...
  • zlf4896
  • zlf4896
  • 2016年03月15日 17:42
  • 471

java参数传递内存图

参数传递 基本数据类型参数传递。 当参数是基本数据类型时,形参的改变不会反作用于实参。 (形参的改变不会影响到实参) 参数类型为引用类型 当参数类型是引用类型时,可以改变引用指向对象的值(成员 变量的...
  • sunsiyuan521
  • sunsiyuan521
  • 2017年02月20日 19:58
  • 238

我的Java开发学习之旅------>Java String对象作为参数传递的问题解惑

又是一道面试题,来测试你的Java基础是否牢固。 题目:以下代码的运行结果是? public class TestValue { public static void test(String...
  • qq446282412
  • qq446282412
  • 2015年06月16日 19:45
  • 1424

Java学习笔记 --- Java中的参数传递问题

前言这学期学校开了Java, 所以服务器组的小伙伴们都开心地写起了Java. 昨天晚上萌萌哒的校园问了我一个问题, 在C语言中参数的传递中, 我们可以使用指针进行传递, 从而更改参数的值, 可是在Ja...
  • dela_
  • dela_
  • 2017年09月24日 10:46
  • 179

java的String类型作为参数传递

转载:http://blog.csdn.net/pony_maggie/article/details/44120045 看一段代码: [java] view ...
  • sujiacheng_123
  • sujiacheng_123
  • 2016年11月29日 15:01
  • 610

java 传递参数的两种方式

Java中没有指针,所以也没有引用传递了,仅仅有值传递不过可以通过对象的方式来实现引用传递 类似java没有多继承 但可以用多次implements 接口实现多继承的功能   值传递:方法调用时,实...
  • maoyeqiu
  • maoyeqiu
  • 2015年10月19日 15:39
  • 17102

Java传递基本类型:值传递,对象作为参数:引用传递

值传递:方法调用时,实际参数把它的值传递给对应的形式参数,方法执行中形式参数值的改变不影响实际参 数的值。 引用传递:也称为传地址。方法调用时,实际参数的引用(地址,而不是参数的值)被传递给方法中相...
  • dreamxiaowei
  • dreamxiaowei
  • 2017年02月25日 15:53
  • 3256

StringBuffer作为形式参数传递

StringBuffer做形式参数
  • qq_32769447
  • qq_32769447
  • 2016年02月29日 11:40
  • 1559

Java参数传递 数组的使用

数组在函数定义中的使用格式(int[]  OrphanCount) 调用的时候一般使用: int[] OrphanCountBefore = new int[2];                 ...
  • russle
  • russle
  • 2010年10月14日 10:58
  • 3360
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java参数传递
举报原因:
原因补充:

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