Java究竟是应该按照什么来传递参数?值?引用?还是两者皆有?
其实,弄清楚这个问题得从概念入手。什么是按值传递,什么是按照参数传递。
定义一个变量TestObject obj = new TestObject(); 然后把 obj 作为参数传递给一个方法。如果在这个方法中,只能改变obj指向的这个对象的内容,那就是“值传递”,传过去的值就是指向这个对象的指针。如果在这个方法中通过操作,使得返回后的obj指向另外一个对象,那就是“引用传递”,传过去的是对这个指针变量的“引用”。
public class Para1 {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer("Hello ");
System.out.println("Before change, sb = " + sb);
changeData(sb);
System.out.println("After changeData(n), sb = " + sb);
}
public static void changeData(StringBuffer strBuf) {
//strBuf = new StringBuffer("Hi ");
strBuf.append("World!");
}
}
把strBuf = new StringBuffer("Hi ");行注释掉和不注释掉将看到两个不同的结果注释的时候:
Before change, sb = Hello
After changeData(n), sb = Hello World!
不注释掉的时候:
Before change, sb = Hello
After changeData(n), sb = Hello
当不注释掉的时候并没有出现:
Before change, sb = Hello
After changeData(n), sb = Hi World!
这说明了,在strBuf = new StringBuffer("Hi ");这行中,strBuf在内存中开辟了一个新的存储地址,不再和开始的sb指向同一个位置,所以,print出来的sb的值没有改变。这个时候的strBuf为"Hi World!"(可以在changeDate方法里面print出来),sb为"Hello"。
所以,根据上面的概念,Java传递参数是属于按值传递,这种情况下参数的值就是对该对象的引用。
分享到:
相关推荐
58.java参数传递机制.zip58.java参数传递机制.zip58.java参数传递机制.zip58.java参数传递机制.zip58.java参数传递机制.zip58.java参数传递机制.zip58.java参数传递机制.zip58.java参数传递机制.zip58.java参数传递...
Java方法参数传递机制是指在Java中,方法调用时传递参数的机制。参数传递机制可以分为两种:值传递和引用传递。 值传递是指基本数据类型的参数传递,值传递的体现是数值的传递。在值传递中,方法调用时传递的参数值...
Java参数传递机制是编程中的重要概念,尤其是在Java中,它对于理解如何在方法间操作数据至关重要。本PPT深入探讨了这一主题,旨在帮助学习者彻底理解Java中的参数传递方式。 首先,我们要回顾面向对象的基本概念。...
Java参数传递机制是编程中非常重要的概念,它涉及到基本类型和引用类型的差异。在Java中,参数传递主要有两种方式:值传递(Value Passing)和引用传递(Reference Passing)。虽然Java官方文档并未明确提及引用传递...
Java 方法参数传递是 Java 编程语言中的一种基本机制,在方法调用时将参数传递给方法体内的变量,但是在传递过程中,参数的类型会对传递结果产生影响。在本文中,我们将讨论 Java 方法参数传递中的引用类型传递。 ...
Java 参数传递机制详解 Java 中的参数传递机制是一个经久不息的讨论...Java 参数传递机制详解,揭开了 Java 中的参数传递机制的奥秘,详细分析了基本类型和对象作为参数传递的机制,并揭开了对象作为参数传递的迷惑。
总之,Android NDK编程中Java传递参数到C的关键在于理解JNI的工作原理,正确声明和实现`native`方法,以及掌握Java与C/C++之间不同类型数据的转换规则。通过熟练运用这些技巧,开发者可以在Android应用中充分利用...
然而,在Java程序与Web页面之间建立有效的参数传递机制,尤其是对于那些不可预知或经常变化的动态参数,成为了一项挑战。传统的手动修改HTML代码来更新参数的方式不仅效率低下,而且容易出错,尤其是在参数频繁变化...
Java 参数传递机制是编程中的重要概念,尤其是在Java中,它涉及到“值传递”和“引用传递”的理解。这里我们将深入探讨这两个概念,并结合给定的示例代码进行解析。 首先,我们看“值传递”。在Java中,基本类型...
Java语言中参数传递的深入剖析 Java语言中参数传递的机制是一个复杂的主题...Java语言中参数传递机制是一个复杂的主题,需要深入地剖析Java语言的变量内存分配机制和参数传递机制,以便更好地理解Java语言的工作机制。
本文将深入探讨Java中的参数传递机制,并通过具体的代码示例和内存分配图解来帮助读者理解按值传递和按引用传递的概念。 #### 二、按值传递的概念与特点 按值传递是指在函数或方法调用过程中,传递给函数或方法的...
方法的参数传递机制测试类,以供大家交流之用。
1. **HTML文件**: 用于定义Applet的位置和传递参数。 2. **Java Applet**: 实现具体逻辑并显示结果。 ### 二、参数传递机制 #### HTML文件中定义参数 在HTML文件中,我们使用`<PARAM>`标签来定义传递给Applet的...
本文将深入探讨Java中的引用类型及其如何影响方法参数的传递机制。通过具体实例,我们将揭示值类型与引用类型之间的差异,并解释在实际编程过程中可能遇到的一些常见困惑。 #### 二、Java的数据类型 Java语言支持两...
Java参数传递机制是一个常见的面试问题,它涉及到Java语言的基础特性。Java中参数传递的方式有两种理解:值传递和引用传递,但这两种说法实际上是对同一种机制的不同角度的描述。下面将详细解释这两种理解方式。 ...
Java方法参数传递是Java编程语言中一个重要的概念,涉及到方法参数的传递机制。了解Java方法参数传递的实现机制对于Java开发者来说是非常必要的。本文将详细介绍Java方法参数传递的实现机制,并通过示例代码进行讲解...
java基础面试题方法的参数传递机制本资源系百度网盘分享地址
Java中的参数传递机制是一个经常引起讨论的话题,尤其是在面试和学习过程中。Java的参数传递方式实际上是一种特殊的"值传递",通常被称为"按引用传递对象的引用",这与C++等语言中的引用传递有所不同。以下是对这个...
在Java编程语言中,函数参数的传递方式有两种:值传递和引用传递。理解这两种机制对于编写高效、无误的代码至关重要。以下是对这两种传递方式的详细解析。 首先,值传递是指函数调用时,实际参数的值被复制一份传给...