以前学习C的 时候参数传递的方式有两种,一种叫"值传递",值传递传的是一个实体,通俗地说就是传值;另一种叫"引用传递",引用传递传的是指针。
在这里重点讨论以引用的方式传递参数的方式。
在java中只要不是new出来的对象那么就是
MyClass mc = new MyClass(); //在内存中生成MyClass对象
MyClass mc2 = mc; //将mc2指向mc在内存中的对象
上面的mc和cm2是同一个对象。
1. Operator opt = new Operator();
2. MyClass mc = new MyClass();
3. MyClass mc2 = mc;
4. mc.add();
5. System.out.println(mc.i);
6. System.out.println(mc2.i);
7. opt.sub(mc2);
8. System.out.println(mc.i);
9. System.out.println(mc2.i);
Operator opt = new Operator();
MyClass mc = new MyClass();
MyClass mc2 = mc;
mc.add();
System.out.println(mc.i);
System.out.println(mc2.i);
opt.sub(mc2);
System.out.println(mc.i);
System.out.println(mc2.i);
结果:
1. run:
2. 1
3. 1
4. 0
5. 0
6. 成功生成(总时间:0 秒)
run:
1
1
0
0
成功生成(总时间:0 秒)
1. Operator opt = new Operator();
2. MyClass mc = opt.getMyClass();
3. mc.add();
4. System.out.println("add:" + mc.i);
5. add(mc);
6. opt.sub1(mc);
7. System.out.println("sub1:" + mc.i);
8. opt.sub2(mc);//在方法里面对对象进行操作也会对main中的对象有影响,reference调用的结果
9. System.out.println("sub1:" + mc.i);
Operator opt = new Operator();
MyClass mc = opt.getMyClass();
mc.add();
System.out.println("add:" + mc.i);
add(mc);
opt.sub1(mc);
System.out.println("sub1:" + mc.i);
opt.sub2(mc);//在方法里面对对象进行操作也会对main中的对象有影响,reference调用的结果
System.out.println("sub1:" + mc.i);
运行结果:
1. run:
2. add:1
3. sub1:2
4. sub1:-98
5. 成功生成(总时间:0 秒)
分享到:
相关推荐
总结来说,Java参数传递的核心是值传递,但对于对象参数,传递的是对象引用的副本。理解这一点对于避免常见的编程错误至关重要,特别是涉及到对象的状态更改时。因此,当在方法中处理对象参数时,必须谨慎操作,因为...
Java参数传递机制是编程中非常重要的概念,它涉及到基本类型和引用类型的差异。在Java中,参数传递主要有两种方式:值传递(Value Passing)和引用传递(Reference Passing)。虽然Java官方文档并未明确提及引用传递...
Java 中的参数传递机制,可以简单地总结为:基本类型作为参数传递时,是传递值的拷贝;对象作为参数传递时,是传递对象的引用。如果你在方法内改变了对象的值,那么原对象也跟着改变,但是如果你重新分配了对象的...
Java 方法参数传递之引用类型 Java 方法参数传递是 Java 编程语言中的一种基本机制,在方法调用时将参数传递给方法体内的变量,但是在传递过程中,参数的类型会对传递结果产生影响。在本文中,我们将讨论 Java 方法...
总结来说,Java中的参数传递分为值传递(基本类型)和引用传递(对象)。值传递不会改变原始变量,而引用传递会根据对象是否可变来决定是否影响原始对象。在处理String对象时,虽然看起来像是引用传递,但由于String...
### JNI中C和Java参数传递详解 #### 一、引言 Java Native Interface (JNI) 是Java平台标准的一部分,用于让Java代码与其他语言写的代码进行交互。本文将深入探讨在JNI环境中,C/C++和Java之间如何进行参数传递,...
根据题目要求,我们将详细解析如何使用Java Applet来接收HTML文件中的参数,并计算矩形的面积与周长,最后将结果展示在...但理解Java Applet的基本原理仍然有助于我们更好地理解和学习软件工程中的参数传递等概念。
### Java的引用与函数参数传递详解 #### 一、Java中的引用基础 在Java中,对象的引用扮演着类似于其他编程语言(如C/C++)中指针的角色,但是Java的引用比传统的指针更加安全且易于管理。这是因为Java的设计者们...
总结来说,JNI中的参数传递涉及以下步骤: 1. 在Java中定义与C++结构体匹配的类。 2. 使用`javah`生成C/C++头文件。 3. 在C++中实现本地方法,注意使用正确的JNI类型和函数来处理参数和返回值。 4. 转换C++数据类型...
Java参数传递机制是一个经常引起讨论的话题,尤其是在初学者和经验丰富的开发者之间。Java中参数传递的基本原则可以总结为:对于所有类型的参数,Java总是进行值传递。然而,对于基本类型和对象引用,"值传递"的概念...
总结一下,JNI 参数传递的关键点包括: 1. **类型映射**:Java 和 C++ 的数据类型不同,需要使用 JNI 提供的类型映射,如 `jint`、`jstring` 等。 2. **字段访问**:使用 JNI 的 `GetFieldID` 和 `GetObjectField`...
总结来说,Java中的参数传递主要有以下特点: 1. 基本数据类型按值传递,函数内部无法改变实际参数的值。 2. 引用类型看似按引用传递,实际上传递的是对象引用的副本,因此函数可以影响实际对象的值。 3. `String`...
JAVA 参数传递方式实例浅析【按值传递与引用传递区别】 JAVA 参数传递方式实例浅析【按值传递与引用传递区别】是 JAVA 编程语言中的一种基本概念,对于 JAVA 开发者来说是非常重要的。本文将通过实例形式分析 JAVA ...
Java中方法参数的传递总是采用值传递的方式,即使对于引用类型的变量也是如此。 ##### 3.1 值传递 对于原始类型,传递的是值的副本。这意味着在方法内部对参数的任何改变都不会影响到原变量。 **示例**: ```java...
总结,访问网站的参数传递涉及到多种方法,选择哪种取决于具体需求,如数据的安全性、跨域支持、页面是否刷新等因素。在实际开发中,常常结合使用这些方法,以实现更高效、安全的数据交换。文件中的"参数传递-网址...
总结,JNI参数传递涉及基本类型、自定义对象和系统对象。理解和熟练掌握这些技术对于深入Android开发和优化性能至关重要。在实际应用中,应特别注意内存管理和对象生命周期,以确保代码的稳定性和效率。通过实践和...
在Java编程语言中,传递数组作为方法参数是一个常见的操作,特别是在处理批量数据或者进行集合操作时。本资源“wxh java中传递数组参数.rar”包含了关于这个主题的详细信息,特别是文档“java中传递数组参数.doc”。...
总结起来,Java中的参数传递机制遵循以下规则: 1. **基本数据类型**:按值传递,传递的是变量值的副本,方法内部的修改不会影响到原始变量。 2. **对象类型**:按值传递,传递的是对象引用的副本,方法内部对对象...