`
498320858
  • 浏览: 393066 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java的传值调用和传址调用(传递参数为对象和数组时显示为传址调用,其他类型为传值调用)

阅读更多

观点:java的传值调用和传址调用(传递参数为对象(String,Integer等除外)和数组时显示为传址调用,其他类型(int,long等)为传值调用)

 

测试案例:

package thinkinjava;

public class 传递对象 {

	/*static*/ void f(Y y){
		y.z='a';
	}
	
	void c(int[] a){
		a[2]=0;
	}
	
	void s(String s){
		s="youloveme";
	}
	
	public static void main(String[] args){
		Y y=new Y();
		y.z='b';
		System.out.println(y.z);
		new 传递对象().f(y);
		System.out.println(y.z);
		int[] a={1,2,3,4,5};
		for(int b:a){
			System.out.print(b+"\t");
		}
		System.out.println();
		new 传递对象().c(a);
		for(int b:a){
			System.out.print(b+"\t");
		}
		System.out.println();
		String s="iloveyou";
		new 传递对象().s(s);
		System.out.println(s);
	}
}

class Y{
	char z;
}

 

运行结果为:

b
a
1	2	3	4	5	
1	2	0	4	5	
iloveyou
 
分享到:
评论

相关推荐

    浅谈js中的引用和复制(传值和传址)

    JavaScript中的引用和复制是理解其工作原理的关键概念。在JavaScript中,数据类型分为两大类:基本...在处理对象和数组时,尤其是与函数参数交互时,需要注意是值的复制还是引用的传递,这将直接影响代码的行为和结果。

    浅谈Java中方法的参数传值.pdf

    Java方法参数传值是Java编程中的基础知识点,涉及变量、数据类型和方法调用的机制。在Java中,数据类型分为基本数据类型和引用数据类型。基本数据类型包括布尔型(boolean)、字节型(byte)、短整型(short)、整型...

    js代码-函数调用的传值和传址

    对于复杂类型(如对象和数组),函数传递的是对象引用的副本,而非对象本身。这意味着,尽管函数内部的参数是副本,但它们都指向同一块内存空间。因此,通过这个副本修改对象的属性或元素会影响到原始对象。例如: ...

    java用JNA调用dll实例,包含各种参数调用

    在本实例中,我们看到如何利用JNA调用DLL(动态链接库)函数,并传递各种类型的参数,包括基本数据类型、指针、引用、结构体、函数指针以及字符串和数组。 首先,理解JNA的基本工作原理是至关重要的。JNA通过映射...

    C#调用C++的dll实例,回调函数,string和int数组参数传递

    因此,传递字符串和数组时要确保生命周期的协调,防止内存泄漏或访问已释放的内存。 8. **异常处理**:由于C++和C#的异常处理机制不同,建议在C#的P/Invoke调用中使用`try-catch`来捕获可能出现的异常。 总的来说...

    新技术培训 培训讲义5_函数.doc

    而传址调用适用于复杂类型,如对象和数组,函数内部的操作会直接影响到原始参数。 此外,函数可以作为参数传递给其他函数,如 `function bb(fun:Function):void{fun("hello")}`,这在高阶函数中非常常见。同时,...

    jni 调用对象以及数组

    本文将深入探讨如何使用JNI调用Java对象和数组,并在C/C++层进行操作,以及如何通过监听器传递数据。 首先,我们要了解JNI的基本结构。一个JNI程序通常包含Java源代码、C/C++源代码和对应的头文件。Java源代码中...

    JNI技术手册 c/c++调用java

    - **定义:** JNI是Java平台的一部分,提供了一组API,使得Java应用程序能够调用其他语言写的代码。 - **设计目的:** - 支持与非Java代码的集成。 - 提高性能。 - 接口标准化。 - **书写步骤:** - 编写Java...

    在axis1.4中传递复杂类型数组参数(ArrayMapping)

    对于复杂类型数组,需要定义对应的 Java 类,并使用 `@XmlType` 和 `@XmlElement` 注解来描述类的结构和数组属性。 6. **调用 Web 服务**: 在客户端,使用 Axis 的 Stub 或 Proxy 类来调用服务时,可以传递 Java ...

    传值 修改json 相似

    3. 传值和传引用的区别,以及在函数调用中如何传递JSON对象。 4. 操作JSON对象的方法,如`JSON.parse()`和`JSON.stringify()`。 5. 如何比较两个JSON对象的相似性。 通过以上的讨论,你可以更好地理解和应用“传值...

    Java中的JVM基础-数据类型和堆栈_.docx

    Java在方法调用传递参数时,由于没有指针,所以它都是进行传值调用(这点可以参考C的传值调用)。因此,许多书里面都说Java是进行传值调用,这点没有问题,而且也简化的C中的简单性。 但是传引用的错觉是如何造成的...

    C#调用C++编写的DLL函数各种参数传递

    本文将深入探讨如何从C#中调用C++编写的DLL(动态链接库)函数,并通过具体的例子来说明不同类型参数的传递方式。 ### 一、字符串参数传递 C#调用C++ DLL函数时,最常见的一种情况是处理字符串参数。例如,考虑...

    Mongodb常用命令和java调用

    集合(collections)是文档(documents)的集合,每个文档都是一个BSON对象,可以包含嵌套的数据结构,如对象和数组。MongoDB 支持创建各种类型的索引,包括单字段、复合字段和唯一索引,以优化查询性能。每个集合都...

    T100ERP调用ORACLE 数据库存储过程(返回值为游标类型)处理为JSON和数组方法

    T100ERP调用ORACLE 数据库存储过程(返回值为游标类型)处理为JSON和数组方法

    coco2dx JNI示例,java c++相互调用

    JNI提供了诸如创建本地方法、调用Java方法、访问Java对象和数组等功能。 2. **Cocos2dx与JNI的集成** 在Cocos2dx项目中,我们通常会在项目的`cpp`目录下创建jni目录,这里将存放C++的源代码。同时,需要配置项目的...

    第8章 对象和数组1

    在ECMAScript中,对象和数组是两种重要的数据结构,它们在编程中扮演着核心角色。对象是一种引用类型,它们将数据和功能组织在一起,尽管ECMAScript不支持传统的类和接口,但依然可以实现面向对象的编程。 ### 对象...

    java参数传递

    Java有两种基本的数据类型:原始类型(如int、char和boolean)和引用类型(如类、接口和数组)。对于这两种类型的参数,Java使用不同的传递方式。 1. 原始类型参数传递: 对于原始类型,Java采用“按值传递”...

    MFC应用程序调用控件中返回值之结构体和数组(控件由C++写成

    在MFC应用程序中,与OCX控件交互并处理返回的结构体和数组是一个常见的需求。在VS2010及更高版本中,这个过程与早期的VC6.0有所不同。下面将详细介绍如何实现控件返回数组或结构体以及应用程序如何调用这些返回值。 ...

Global site tag (gtag.js) - Google Analytics