`
zhy20045923
  • 浏览: 155817 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

【转载】java中的值传递,引用传递

    博客分类:
  • java
阅读更多
Java参数,不管是原始类型还是引用类型,传递的都是副本(有另外一种说法是传值,但是说传副本更好理解吧,传值通常是相对传址而言)。
    如果参数类型是原始类型,那么传过来的就是这个参数的一个副本,也就是这个原始参数的值,这个跟之前所谈的传值是一样的。如果在函数中改变了副本的 值不会改变原始的值.
    如果参数类型是引用类型,那么传过来的就是这个引用参数的副本,这个副本存放的是参数的地址。如果在函数中没有改变这个副本的地址,而是改变了地址中的值,那么在函数内的改变会影响到传入的参数如果在函数中改变了副本的地址,如new一个,那么副本就指向了一个新的地址,此时传入的参数还是指向原来的地址,所以不会改变参数的值
( 对象包括对象引用即地址和对象的内容)

a.传递值的数据类型:八种基本数据类型和String(这样理解可以,但是事实上String也是传递的地址,只是string对象和其他对象是不同的,string对象是不能被改变的,内容改变就会产生新对象。那么StringBuffer就可以了,但只是改变其内容。不能改变外部变量所指向的内存地址)。
b.传递地址值的数据类型:除String以外的所有复合数据类型,包括数组、类和接口
分享到:
评论

相关推荐

    Java:按值传递还是按引用传递详细解说

    ### Java中的按值传递与按引用传递详解 #### 一、引言 在Java编程语言中,关于参数传递的方式一直存在两种观点:一种认为Java仅支持按值传递,另一种则指出Java同时支持按值传递和按引用传递。实际上,这两种观点...

    java值传递与引用传递

    在Java中,基本数据类型(如int、char、float等)就是按值传递的。例如,如果你有一个整型变量`int a = 5;`,并将其作为参数传递给一个函数,函数内部对这个参数的任何修改都不会影响到原始变量`a`的值,因为传递的...

    Java是值传递,传对象引用也是通过值

    标题“Java是值传递,传对象引用也是通过值”揭示了Java中参数传递的核心概念。Java总是以值传递方式进行,这意味着当你将一个变量作为参数传递给方法时,传递的是该变量所存储值的一个副本。然而,对于对象类型的...

    Java面向对象值传递和引用传递

    Java 面向对象值传递和引用传递 Java 面向对象编程中,参数传递是非常重要的一个概念。参数传递有两种方式:值传递和引用传递。了解这两种方式的区别是非常重要的,因为它们对程序的执行结果产生了很大的影响。 值...

    13.java参数传递之引用传递.zip

    13.java参数传递之引用传递.zip13.java参数传递之引用传递.zip13.java参数传递之引用传递.zip13.java参数传递之引用传递.zip13.java参数传递之引用传递.zip13.java参数传递之引用传递.zip13.java参数传递之引用传递....

    java值传递和引用传递详解

    Java中的参数传递方式主要有两种:值传递和引用传递。理解这两种机制是编程中至关重要的,因为它们直接影响到函数内部如何改变或操作传入的数据。 **值传递**在Java中是基本数据类型(如int, double, char等)的...

    值传递和引用传递

    ##### 2.2 Java中的值传递示例 ```java public class ValuePassingExample { public static void main(String[] args) { int x = 1; System.out.println(x); // 输出 1 test(x); System.out.println(x); // ...

    java题的小总结按值传递还是地址传递

    本文将详细解释Java中按值传递和按引用传递的概念,并通过示例来帮助理解这两种方式的区别。 1. 按值传递(Pass by Value) 在Java中,基本数据类型(如int、float、char等)的参数传递是按值传递。这意味着当一个...

    java学习java语言的值传递和引用传递

    java学习java语言的值传递和引用传递

    java参数传递时到底是值传递还是引用传递分享.pdf

    Java中参数传递的方式有两种理解:值传递和引用传递,但这两种说法实际上是对同一种机制的不同角度的描述。下面将详细解释这两种理解方式。 首先,我们来看值传递的理解。在Java中,当一个对象作为参数传递给方法时...

    Java中的值传递和引用传递

    当一个变量为一个参数传入方法内部的时候,会有两种不同的传递方式:值传递和引用传递。  值传递的特点:不管方法内部对传进去的参数作任何改变,也不会影响方法外部的变量的值  引用传递的特点:方法内部对传...

    Java语言中参数值传递和引用传递比较.pdf

    Java 语言中参数值传递和引用传递比较 Java 语言中参数值传递和引用传递是两种不同的参数传递方式,它们在 Java 编程中扮演着重要的角色。参数值传递是指将实际参数的值复制给形式参数,形式参数的变化不影响实际...

    Java中的值传递和引用传递的区别.doc

    Java 中的值传递和引用传递的区别 Java 中的值传递和引用传递是两个不同的参数传递机制。值传递是指当基本数据类型作为入口参数传给函数体时,传入的参数在函数体内部变成了局部变量,这个局部变量是输入参数的一个...

    java中的值传递和引用传递[汇编].pdf

    这种行为与C++中的引用传递不同,C++中传递的是原始引用,而不是引用的副本。 总结来说,Java中的参数传递机制: 1. 对于基本类型,总是按值传递,方法内部无法改变外部变量的值。 2. 对于对象类型,实际上是按对象...

    值传递与引用传递-内存解析

    例如,在C++或Java中,如果一个整型变量`a`被传递给一个函数,那么函数接收到的就是`a`当前的数值,而不是`a`本身。在函数内部改变这个数值,不会影响到全局或调用者上下文中的`a`。 引用传递则是另一种机制。与值...

    Java 值传递Visio资源

    在Java中,参数传递有两种方式:值传递和引用传递。这个“Java 值传递Visio资源”包含了几个Visio图形文件,帮助我们直观地理解这两种传递方式。 1. **值传递**: 当方法调用时,对于基本类型(如int, double, char...

    Java引用变量传递诡异之处

    3. **理解按值传递的概念**:Java中的所有参数传递都是按值传递的,即使是引用类型也不例外。这意味着在方法内部对参数的修改不会影响到外部的原始变量。 掌握这些核心概念对于理解Java中引用类型的行为至关重要,...

    java 之方法调用 方法传参 值传递还是引用传递字节码

    在Java编程语言中,方法调用和参数...参数传递遵循值传递原则,对于基本类型传递值副本,对于对象类型传递对象引用的副本。通过字节码和开发工具,我们可以更深入地理解这些过程,提升我们的编程技能和问题排查能力。

    Java-Java面向对象中引用传递教程

    本教程将深入探讨Java中的引用传递机制,并通过视频教程的形式帮助学习者更好地理解和应用这一概念。 首先,理解“引用”在Java中的含义至关重要。在Java中,当我们声明一个对象变量时,实际上我们得到的是指向对象...

Global site tag (gtag.js) - Google Analytics