java中没有引用传递的概念。
基本类型肯定是值传递了,所以在方法中的修改不会对值产生任何影响。
如:
public class SwapNum {
/**
* @param args
*/
public static void main(String[] args) {
int a = 1;
int b = 3;
System.out.println("a:" + a + "b:" + b);
swap(a, b);
System.out.println("a:" + a + "b:" + b);
}
public static void swap(int a, int b) {
int temp = a;
a = b;
b = temp;
}
}
结果:
a:1b:3
a:1b:3
但有人会说,传递对象引用时,会改变对象的内容,属于值传递,这个是不对的。
其实当作为参数传递时,系统会复制一份实参,赋值给形参,然后方法里的操作不会对实参产生影响,但因为形参和实参都指向同一个对象,所以形参的操作是对对象的操作,对象改变后,实参指向的对象就是这个改变后的对象,这样,就感觉方法的操作对实参产生了影响。
如下代码:
public class TestMethod {
/**
* @param args
*/
public static void main(String[] args) {
Person p = new Person();
p.setAge(10);
p.setName("randy");
setNull(p);
System.out.println(p.getName() + ":" + p.getAge());
}
public static void setNull(Person p) {
p.setAge(21);
p = null;
}
}
结果:
randy:21
当你在方法里对形参设置了age后,再将形参设为null,实参指向的对象的age改变了,但实参不为null。这个就是最好的证明,方法的传递都是以值来传递的。
分享到:
相关推荐
按值传递是指在函数或方法调用过程中,传递给函数或方法的参数是原始值的副本,而非原始值本身。这意味着任何对传递进来的参数所做的修改都不会影响到原始值。这种传递方式的特点如下: 1. **参数是原始值的副本**...
在Java编程语言中,了解值传递和引用传递的概念至关重要,因为它们直接影响到函数参数的处理方式。下面将详细探讨这两个概念及其区别。 首先,我们来理解什么是值传递。在Java中,基本数据类型(如int、double、...
首先,值传递是指函数调用时,实际参数的值被复制一份传给形式参数。这意味着,当函数内部对形参进行操作时,不会影响到实际参数。在Java中,基本数据类型(如int、char、float等)就是按值传递的。例如,如果你有一...
参数值传递是指将实际参数的值复制给形式参数,形式参数的变化不影响实际参数的值。引用传递是指将实际参数的引用(地址)传递给形式参数,对形参对象内容的改变将影响实际参数对象的内容。 在 Java 语言中,基本...
这里详细的说明了,java参数传递的过程,引用传递,值传递
12.参数传递之值传递.zip12.参数传递之值传递.zip12.参数传递之值传递.zip12.参数传递之值传递.zip12.参数传递之值传递.zip12.参数传递之值传递.zip12.参数传递之值传递.zip12.参数传递之值传递.zip12.参数传递之值...
Java参数传递的规则是:**Java只使用值传递,但这种值传递对于对象参数表现为类似引用传递的行为。** 在值传递中,函数或方法接收的是原始数据类型(如int、double、boolean)参数的副本。例如,如果有一个方法...
标题“Java是值传递,传对象引用也是通过值”揭示了Java中参数传递的核心概念。Java总是以值传递方式进行,这意味着当你将一个变量作为参数传递给方法时,传递的是该变量所存储值的一个副本。然而,对于对象类型的...
Java参数传递机制是一个常见的面试问题,它涉及到Java语言的基础特性。Java中参数传递的方式有两种理解:值传递和引用传递,但这两种说法实际上是对同一种机制的不同角度的描述。下面将详细解释这两种理解方式。 ...
值传递和引用传递的区别可以用一个简单的例子来解释:值传递是一样的设计图纸,你可以根据这个设计图纸盖一个新的房子,然后你可以随便修改这个房子,而不影响原来的房子。引用传递是把家门牌号告诉你,然后你来我家...
Java的参数传递方式实际上是一种特殊的"值传递",通常被称为"按引用传递对象的引用",这与C++等语言中的引用传递有所不同。以下是对这个主题的详细解释。 在Java中,所有的参数传递都是基于值的,但这涉及到一个...
Java参数传递机制是编程中非常重要的概念,它涉及到基本类型和引用类型的差异。在Java中,参数传递主要有两种方式:值传递(Value Passing)和引用传递(Reference Passing)。虽然Java官方文档并未明确提及引用传递...
Java 方法参数传递是 Java 编程语言中的一种基本机制,在方法调用时将参数传递给方法体内的变量,但是在传递过程中,参数的类型会对传递结果产生影响。在本文中,我们将讨论 Java 方法参数传递中的引用类型传递。 ...
### Java参数的传递与返回值 #### 一、Java参数传递的基本概念 在Java中,方法(或称为函数)可以通过参数来接收外部的数据,并且能够返回处理后的结果。参数的传递方式主要有两种:值传递(Pass-by-value)和引用...
按值传递是指将实参的值复制给形参,形参的变化不会影响实参的值。这种方式适用于基本数据类型,如int、long、float等。在按值传递中,实参的值被复制到形参中,形参的变化不会影响实参的值。 例如: ```java ...
我们学习了如何使用 `doc.getItemValueString("Query_String_Decoded")` 方法获取传递值,拆分查询字符串,获取参数值,并输出 JSON 字符串。这些技术可以帮助我们更好地开发 Lotus Domino 服务器端应用程序。
Java 中的参数传递机制,可以简单地总结为:基本类型作为参数传递时,是传递值的拷贝;对象作为参数传递时,是传递对象的引用。如果你在方法内改变了对象的值,那么原对象也跟着改变,但是如果你重新分配了对象的...
Java 参数传递机制是编程中的重要概念,尤其是在Java中,它涉及到“值传递”和“引用传递”的理解。这里我们将深入探讨这两个概念,并结合给定的示例代码进行解析。 首先,我们看“值传递”。在Java中,基本类型...