`
Brucegaochina
  • 浏览: 40466 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java参数传递(二)

阅读更多
上一次我们分析java参数过程中,当传递的是基本类型和对象引用的情况.那么当传递的参数是数组呢,情况又会怎么样?

其实,数组是当成一个引用类型来传递的,轻看下面的例子!

/**
 * 
 */
package arguments.transport;

/**
 * test the parameter transfer via array or object reference
 * 
 * @author Bruce
 * @date Sep 26, 2011
 * @version
 */
public class ArrayParameterTransfer {
	public String nn = "main";

	public static void main(String[] args) {
		String[] s1 = new String[] { "Kitty", "Tom" };
		char[] ch = new char[] { 'a', 'b', 'c' };

		ArrayParameterTransfer a = new ArrayParameterTransfer();
		System.out.println("Before change:" + a.nn);
		changObj(a);
		System.out.println("After change:" + a.nn);

		change(s1, ch);

		System.out.println(s1[0]);
		System.out.println(ch);

	}

	/**
	 * change the field of a instance of class
	 * 
	 * @param a
	 */
	private static void changObj(ArrayParameterTransfer a) {
		a.nn = "sub";

	}

	/**
	 * chang the element value of a array
	 * 
	 * @param s1
	 * @param ch
	 */
	private static void change(String[] s1, char[] ch) {
		s1[0] = "Lily";
		ch[0] = 'z';

	}

}

打印:
Before change:main
After change:sub
Lily
zbc



总结:当数组作为参数传递的时候,在方法里面改变了数组元素,那么实际上数组就真的被改变了,纵使数组的元素是引用类型也一样;当传递的是一个类对象引用的时候,可以根据我们上一节分析,对象内字段自然也被改变了,因为直接操作的是堆里面的统一内容。
分享到:
评论

相关推荐

    11.java参数传递.zip

    11.java参数传递.zip11.java参数传递.zip11.java参数传递.zip11.java参数传递.zip11.java参数传递.zip11.java参数传递.zip11.java参数传递.zip11.java参数传递.zip11.java参数传递.zip11.java参数传递.zip11.java...

    13.java参数传递之引用传递.zip

    13.java参数传递之引用传递.zip13.java参数传递之引用传递.zip13.java参数传递之引用传递.zip13.java参数传递之引用传递.zip13.java参数传递之引用传递.zip13.java参数传递之引用传递.zip13.java参数传递之引用传递....

    58.java参数传递机制.zip

    58.java参数传递机制.zip58.java参数传递机制.zip58.java参数传递机制.zip58.java参数传递机制.zip58.java参数传递机制.zip58.java参数传递机制.zip58.java参数传递机制.zip58.java参数传递机制.zip58.java参数传递...

    Java参数传递PPT

    Java参数传递机制是编程中的重要概念,尤其是在Java中,它对于理解如何在方法间操作数据至关重要。本PPT深入探讨了这一主题,旨在帮助学习者彻底理解Java中的参数传递方式。 首先,我们要回顾面向对象的基本概念。...

    java参数传递

    这里详细的说明了,java参数传递的过程,引用传递,值传递

    java方法的参数传递其二.docx

    Java 方法参数传递之引用类型 Java 方法参数传递是 Java 编程语言中的一种基本机制,在方法调用时将参数传递给方法体内的变量,但是在传递过程中,参数的类型会对传递结果产生影响。在本文中,我们将讨论 Java 方法...

    Java参数传递的经典示例

    Java参数传递机制是编程中非常重要的概念,它涉及到基本类型和引用类型的差异。在Java中,参数传递主要有两种方式:值传递(Value Passing)和引用传递(Reference Passing)。虽然Java官方文档并未明确提及引用传递...

    java 参数传递

    Java 参数传递机制详解 Java 中的参数传递机制是一个经久不息的讨论话题,究竟是“传值”还是“传引用”,双方各执一词,互不相让。本文将通过详细的分析和实例,揭开 Java 参数传递机制的奥秘。 基本类型作为参数...

    java参数传递 java 参数.doc

    Java 参数传递机制是编程中的重要概念,尤其是在Java中,它涉及到“值传递”和“引用传递”的理解。这里我们将深入探讨这两个概念,并结合给定的示例代码进行解析。 首先,我们看“值传递”。在Java中,基本类型...

    java参数传递学习demo

    java的参数传递对比,体现了值传递和引用传递的区别,是我在java入门是写的学习demo

    62.java引用类型的参数传递.zip

    62.java引用类型的参数传递.zip62.java引用类型的参数传递.zip62.java引用类型的参数传递.zip62.java引用类型的参数传递.zip62.java引用类型的参数传递.zip62.java引用类型的参数传递.zip62.java引用类型的参数传递....

    59.java基本类型的参数传递.zip

    59.java基本类型的参数传递.zip59.java基本类型的参数传递.zip59.java基本类型的参数传递.zip59.java基本类型的参数传递.zip59.java基本类型的参数传递.zip59.java基本类型的参数传递.zip59.java基本类型的参数传递....

    java参数的传递与返回值

    #### 一、Java参数传递的基本概念 在Java中,方法(或称为函数)可以通过参数来接收外部的数据,并且能够返回处理后的结果。参数的传递方式主要有两种:值传递(Pass-by-value)和引用传递(Pass-by-reference)。...

    Java数组传递及可变参数操作实例详解

    当把数组作为参数传递给方法时,传递的实际上就是数组对象的引用。 Java 可变参数是指在方法中可以传递同类型的可变参数,JDK 1.5 开始支持这种特性。可变参数可以使得方法更加灵活、方便使用。可变参数的使用规则...

    JAVA反射参数传递概略

    这篇博客文章“JAVA反射参数传递概略”将深入探讨如何使用反射来处理方法参数,尤其是涉及到参数传递的细节。 首先,让我们理解什么是参数传递。在Java中,有两种基本的参数传递方式:值传递和引用传递。值传递是将...

    java传递参数的方法

    java传递参数的方法 很的东西 大家下载学习一下

    java参数传递时到底是值传递还是引用传递分享.pdf

    Java参数传递机制是一个常见的面试问题,它涉及到Java语言的基础特性。Java中参数传递的方式有两种理解:值传递和引用传递,但这两种说法实际上是对同一种机制的不同角度的描述。下面将详细解释这两种理解方式。 ...

    JNI中C和Java参数传递详细例子

    ### JNI中C和Java参数传递详解 #### 一、引言 Java Native Interface (JNI) 是Java平台标准的一部分,用于让Java代码与其他语言写的代码进行交互。本文将深入探讨在JNI环境中,C/C++和Java之间如何进行参数传递,...

    Java的引用和函数参数传递

    #### 二、基本类型的参数传递 Java中,当涉及到基本类型(如`int`, `double`等)的参数传递时,采用的是传值的方式。这意味着当一个基本类型的变量作为参数传递给方法时,实际上是传递了一个副本,而不是原始值本身...

Global site tag (gtag.js) - Google Analytics