先看例子
1.在方法中,基本数据类型的传递
package cn.zyy; public class Test { public static void main(String[] args) { int i =1,j=2; change(i,j); System.out.println("i=" +i + ",j="+ j); /**结果为:i=1,j=2*/ } public static void change(int i,int j){ int temp = i; i = j; j = temp; }; }
总结:在方法中,如果参数传递的是基本数据类型的数据,则它传递的是值得副本,并不是值本身
2.在方法参数中,引用数据类型的传递
package cn.zyy; public class Test { public static void main(String[] args) { int [] numbers = {1,2,3,4,5}; change(numbers); System.out.println(numbers[0]); //结果为10 } public static void change(int [] numbers){ numbers[0] = 10; } //可变参数类型其实也是一个数组(和上面的方法拥有同样的效果) public static void change1(int... numbers){ numbers[0] = 11; } }
总结: 如果方法中传递的是引用数据类型,则它传递的是引用(其实就是真正数据值所存放在内存中的地址值)的副本,也就是说,实质上如果修改的话,是对正真的值进行修改
3.基于以上进行改变
package cn.zyy; public class Test { public static void main(String[] args) { T t = new T(); System.out.println(t.i); //输出的结果是1 } public static void change(T t){ //此处传递的是上面对象引用的副本值 t = new T(); //此处在创建新对象时,将之前引用的副本值修改,所以在修改的时候,并没有修改以前的 值 t.i = 10; } } class T { public int i =1; }
总结: 如果传递的是引用类型的话,如果引用值被修改了,那么之前传进来的对象,将不会再被修改。
哈哈,虽然比较简单,但是在笔试中会问到,所以今天写了出来。
相关推荐
### 浅析Java引用类型和方法参数传递 #### 一、引言 在Java编程语言中,理解数据类型的处理方式对于编写高效、可维护的代码至关重要。本文将深入探讨Java中的引用类型及其如何影响方法参数的传递机制。通过具体实例...
Java 中的基本类型和引用类型变量是两个不同的概念,它们在内存分配、变量赋值和函数传递等方面有着本质的区别。 基本类型是 Java 中的八种基本类型,包括 byte、short、int、long、float、double、char 和 boolean...
综上所述,在Java中,对于基本数据类型的参数传递实际上是按值传递,而对于对象类型的参数传递则是按引用传递的一种特殊形式——传递的是对象引用的副本,但由于这些副本指向同一个对象,因此对对象的修改会影响到...
在Java中,基本数据类型(如int、double、boolean等)的参数是通过值传递的。这意味着当一个方法被调用时,实际的变量副本被复制到方法的局部变量表中。例如: ```java public void changeValue(int num) { num = ...
在Java中,除了基本数据类型外的所有类型(包括自定义类和接口实现)都是按引用传递的。然而,这里有一个关键点需要注意,Java并不支持真正的引用传递,而是使用"传对象的引用副本"来模拟引用传递的效果。 ```java ...
Java中的参数传递方式有两种基本类型:按值传递和引用传递,但实际上Java只支持按值传递。这意味着在Java中,无论是基本数据类型还是引用数据类型,传递的都是值的一个拷贝。 对于基本数据类型(如int、char、float...
通过上述分析,我们可以清楚地了解到Java中引用和函数参数传递的基本概念以及它们的具体应用。了解这些概念对于正确使用Java进行编程非常重要,尤其是在处理复杂的数据结构和对象交互时。希望本文能帮助读者更好地...
Java 语言中参数值传递和引用传递比较 Java 语言中参数值传递和引用传递是两种不同的参数传递方式,它们在 Java 编程中扮演着重要的角色。参数值传递是指将实际参数的值复制给形式参数,形式参数的变化不影响实际...
Java方法参数传递机制原理解析 ...Java方法参数传递机制原理解析是指Java中方法调用时传递参数的机制,参数传递机制可以分为值传递和引用传递,值传递适用于基本数据类型,引用传递适用于引用数据类型。
Java语言中的数据类型可以分为两大类:基本数据类型和引用数据类型。基本数据类型包括整型、浮点型、布尔型等,而引用数据类型包括类、数组、字符串等。这两种变量都存储在局部变量表中,并且都是在Java操作数栈中制...
根据传递的数据类型不同,Java中有两种主要的参数传递方式:值传递(Value Passing)和引用传递(Reference Passing)。这两种方式决定了函数内部如何处理传入的参数,进而影响到函数外部的原始数据是否会发生变化。...
Java有两类数据类型:基本数据类型(如int、char、boolean等)和对象类型。这两种类型的参数传递方式有所不同。 对于基本数据类型,Java采用的是**按值传递**的方式。这意味着当你将一个基本类型的变量作为参数传递...
在值传递中,函数或方法接收的是原始数据类型(如int、double、boolean)参数的副本。例如,如果有一个方法tripleValue,它接受一个double类型的percent并尝试将它乘以3,实际上这个操作不会影响到原始的percent变量...
因此,在Java语言中参数传递机制的实现方法可以分为两种情况,即按值传递和引用传递。了解Java语言中参数传递机制的原理对于初学者来说非常重要,可以帮助他们更好地理解Java语言的工作机制。 Java语言中参数传递...
Java中引用数据类型作为参数传递时,如果参数地址值发生改变,那么将只是形参改变,实参并没有变化
Java方法参数传值是Java编程中的基础知识点,涉及变量、数据类型和方法调用的机制。在Java中,数据类型分为基本数据类型和引用数据类型。基本数据类型包括布尔型(boolean)、字节型(byte)、短整型(short)、整型...
Java参数传递机制是编程中非常重要的概念,它涉及到基本类型和引用类型的差异。在Java中,参数传递主要有两种方式:值传递(Value Passing)和引用传递(Reference Passing)。虽然Java官方文档并未明确提及引用传递...
- **不可变性**:对于不可变数据类型(如Java中的基本数据类型),一旦值被复制后,形参的任何改变都不会影响到实参。 ##### 2.2 Java中的值传递示例 ```java public class ValuePassingExample { public static ...