`
东京日和
  • 浏览: 11966 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

Java中函数传值和传引用

 
阅读更多
在java中只有原始类型传送的是值,数组对象传送的都是引用。
值传到函数里面,无论发生什么变化都不会对函数外面的值产生任何影响。
引用(原始类型数组通引用)传进来以后,则情况会复杂些。
不可变类 和 可变类有区别。
String str = “string;
StringBuffer sb=“stringbuffer”;
function change(str, sb){
str = new String("stringCC");
sb.append("CC");
}
System.out.println(str);
System.out.println(sb);

结果:
string
stringbufferCC

函数传入的都是值,只不过是两个对象的引用的值;
String 类 为不可变类,str = new String("stringCC"); 实例化了新的对象,因为传进来的只是值,所以函数外部的str 的引用指向的 内存块的内容并不会变化。
函数内部只是生成了新的内容为“stringCC”的内存块。
而sb在函数内部的变化,也只是那一块内存里面的内容发生了变化,所以外部还是可以看到这个变化。
分享到:
评论

相关推荐

    java中传值与传引用

    在Java编程语言中,函数调用时的参数传递方式有两种:传值(Passing by Value)和传引用(Passing by Reference)。虽然Java官方文档中并未明确指出有传引用这一概念,但在实际操作中,Java的行为类似于传引用,尤其...

    java中传值还是传引用的的认识

    "java中传值还是传引用的认识" Java 中的参数传递是值传递还是引用传递?这是一个经常引发讨论的问题。在 Java 中,参数传递是按值传递的,也就是说,传递给方法的参数是一个副本,而不是原始值本身。 当一个对象...

    Java中的传值与传引用实现过程解析

    Java中的传值与传引用是Java编程语言中的一种基础概念,它们是Java函数中参数传递的两种方式。 Java中的传值是指函数参数的值被复制到函数内部,在函数内部对参数的修改不会影响原来的参数值。 Java中的传引用是指...

    java的传值与传值后的改变

    理解Java中的传值与传引用对于编写正确且预期的行为代码至关重要。在编写函数时,应清楚地知道参数如何被传递,以及这将如何影响函数的可读性和行为。在实际编程中,合理运用这些知识能帮助避免许多常见的错误和困惑...

    引用类型传值方法

    引用类型的传值行为体现在函数调用和方法参数传递上。当我们把一个引用类型变量作为参数传递给函数时,并不会创建该对象的新副本,而是复制了这个引用。这意味着函数内部对对象的任何修改都会影响到原始对象,因为...

    java及C++中传值传递、引用传递和指针方式的理解.docx

    ### Java及C++中传值传递、引用传递和指针方式的理解 在程序设计语言中,函数调用时参数的传递方式对理解程序的行为至关重要。本文将深入探讨Java与C++这两种广泛使用的编程语言中参数传递的方式,包括值传递、引用...

    23.Java对象作为参数传递是传值还是传引用1

    这就是为什么`main`方法中的`sb`对象值被改变了,因为`change`函数中的`sb`和`main`方法中的`sb`都指向同一个内存地址。 3. **进一步的例子**: 在另一个示例中,我们有类似的情况,但这次在`change`函数中尝试...

    Java中参数传值的代码清单.pdf

    Java只支持两种类型的参数传递:基本数据类型(如int、double等)的传值和引用类型(如类对象)的传值。以下是对给定代码清单的详细解释: 1. **基本数据类型传值**: 在Java中,基本数据类型的参数传递是按值传递...

    Java的引用和函数参数传递

    通过上述分析,我们可以清楚地了解到Java中引用和函数参数传递的基本概念以及它们的具体应用。了解这些概念对于正确使用Java进行编程非常重要,尤其是在处理复杂的数据结构和对象交互时。希望本文能帮助读者更好地...

    Android NDK底层和java代码相互传值调用(实用经典Demo)

    例如,Java的`int`对应C/C++的`int32_t`,`long`对应`int64_t`,`float`和`double`保持不变,而字符串通常通过`char*`或`std::string`在C++中表示,Java中则使用`String`类。 2. **JNI接口定义** 要实现Java与C++...

    传值传名传地址.zip

    传名在Python中可以被视为一种特殊形式的传引用,因为Python中的所有对象都是引用类型,函数调用时传递的是对象的引用。这意味着,即使在函数内部修改形参,也会直接影响到实参。 最后,我们来探讨**传地址**。传...

    42.传值和传引用.doc-综合文档

    总之,传值和传引用是编程中处理函数参数的两种基本策略,各有优缺点。在文本编程语言中,程序员可以直接选择使用哪种方式;而在LabVIEW中,虽然程序员无法直接控制,但可以通过设计和优化程序结构来影响LabVIEW的...

    分析java的传值问题

    通过以上分析可以看出,Java中对于基本类型和引用类型的参数传递方式存在明显的区别: - 对于基本类型,传递的是值的副本,方法内部对参数的修改不会影响到原始变量。 - 对于引用类型,传递的是引用的副本,方法内部...

    Java语言的方法参数浅析

    通过对典型程序的研究与分析可以看出JAVA语言的参数传递总是传值调用的,但是对于基本类型的参数和对象类型的参数来说,参数传递的情况不完全相同.Java语言不能直接使用传引用调用,但是可以通过数组的方式模拟传引用...

    python 函数传参之传值还是传引用的分析

    Python不支持像C++或Java那样的纯粹的值传递或引用传递,而是采用了独特的“传对象引用”方式。这种方式结合了值传递和引用传递的特点,但又有所不同。 在Python中,所有的变量都是对象的引用。当我们传递一个变量...

    java及C++中传值传递、引用传递和指针方式的理解

    Java和C++对待参数传递有着不同的处理机制,这主要体现在值传递、引用传递和指针方式上。 首先,我们来看Java的值传递。Java中,所有的参数传递都是基于值的。这意味着当一个对象作为参数传递给方法时,实际上是...

    java类

    本文将通过一个具体的例子来深入探讨Java中的传值与传引用的区别,并解释如何利用这一特性来更好地管理程序的状态。 #### 1. 传值与传引用的概念 在Java中,基本数据类型(如int、char等)的参数传递遵循“传值”...

    Java计算机语言函数应用

    Java计算机语言函数应用是编程学习中的重要...以上知识点涵盖了Java函数应用的基础和进阶内容,理解和熟练掌握这些知识点对于提升Java编程能力至关重要。通过不断实践和探索,您将能够编写出高效、可读性强的Java函数。

    动态增删table以及后台传值和弹出窗口父子窗口传值

    在IT行业中,动态增删table和后台传值是前端与后端交互的重要技术,而弹出窗口父子窗口之间的数据传递则是提升用户体验的关键。下面将详细解释这些知识点。 首先,动态增删table是一种常见的用户界面设计,它允许...

    Java函数与数组实验源代码

    Java函数与数组是编程基础的重要组成部分,特别是在Java中,它们被广泛用于数据处理和逻辑控制。本实验旨在帮助学生深入理解和应用这些概念。 首先,数组是存储一组相同类型数据的集合,可以是一维、二维或多维。在...

Global site tag (gtag.js) - Google Analytics