`
liuwei1981
  • 浏览: 771955 次
  • 性别: Icon_minigender_1
  • 来自: 太原
博客专栏
F8258633-f7e0-30b8-bd3a-a0836a5f4de5
Java编程Step-by...
浏览量:161216
社区版块
存档分类
最新评论

参数以by value 方式而非 by reference 方式传递

阅读更多

    一个普遍存在的误解是:java中的参数以by refrence 方式传递。这是不正确的。 参数实际上是以by value 方式传递。这个误解源于“所有java objects 都是 object refrence”这一事实。

 

   java是以 by value 方式传递object refrence。

 

  • 如果不要在函数中将传入的对象参数进行修改,则可以以下的解决方法:
  • 传递一个对象的克隆件(clone)  
  • 令对象成为immutable(不可变的)
分享到:
评论

相关推荐

    Practical+Java(重点版)

    ### 实践1: 参数以by value方式而非by reference方式传递 #### 重要概念解析 在Java编程语言中,一个常见的误解是参数是以引用传递(by reference)的方式进行处理的。实际上,Java采用的是按值传递(by value)...

    详解Java的call by value和call by reference

    Java是一种面向对象的编程语言,它支持两种传递参数的方式:call by value和call by reference。理解这两种方式对于Java开发者来说非常重要,这篇文章将详细解释这两种方式的区别和使用场景。 call by value(值...

    关于C++的函数参数传递方式

    ### 关于C++的函数参数传递方式 在C++编程中,函数参数的传递是非常重要的一个概念。通过函数参数的传递,我们可以实现不同函数间的数据交互。本文将深入解析C++中的函数参数传递机制,包括传值调用、传地址调用...

    C、C++函数参数传递方式.pdf

    C和C++中的函数参数传递方式主要分为值传递、指针传递和引用传递。这些方式决定了参数在函数调用时的传值行为,以及它们在函数执行后是否能够影响原始数据。下面详细解释这些传递方式的知识点。 1. 值传递(Call by...

    C、C 函数参数传递方式

    在C和C++编程语言中,函数参数的传递有三种主要方式:值传递、通过指针传递和通过引用传递。每种方式都有其特定的用途和特性。 1. 值传递(Pass by Value) 值传递是最常见的参数传递方式。在调用函数时,实际参数...

    三种参数传递

    在C++中,参数传递的方式是“实虚结合”。 •按值传递(pass by value) •地址传递(pass by pointer) •引用传递(pass by reference) 按值传递的过程为:首先计算出实参表达式的值,接着给对应的形参变量分配一...

    c# 参数传递,参数调用

    首先,我们要了解参数传递的两种基本方式:值传递(pass by value)和引用传递(pass by reference)。C#中,参数默认是以值传递的方式进行的,这意味着当函数或方法被调用时,实际传递的是变量值的一个副本,而不是...

    VC编程时CPU中参数的传递的方法与总结

    在C++编程中,函数调用时参数的传递通常有两种方式:按值传递(pass by value)和按引用传递(pass by reference)。按值传递会复制参数的值,而按引用传递则传递的是变量的地址,使得函数可以直接修改原变量的值。 ...

    参数传递的总结——构造函数

    参数传递的方式有两种基本类型:值传递(pass by value)和引用传递(pass by reference)。值传递意味着函数内部对参数的修改不会影响到原始变量的值,而引用传递则允许函数直接修改原始变量。 构造函数是一种特殊...

    Java参数传递PPT

    当讨论方法参数时,有两种术语经常被提及:值传递(Call by Value)和引用传递(Call by Reference)。Java参数传递的规则是:**Java只使用值传递,但这种值传递对于对象参数表现为类似引用传递的行为。** 在值传递...

    对C语言函数参数传递的探讨——以交换问题为例.pdf

    在C语言中,函数调用时的参数传递方式主要分为两种:值传递(Call by Value)和地址传递(Call by Address),也称作传值和传址。 在值传递中,当调用一个函数时,实际参数(实参)的值被复制到形式参数(形参)中...

    Delphi值传递和引用传递实例

    Delphi,作为一款基于Pascal语法的面向对象的编程环境,提供了两种主要的参数传递机制:值传递(ByValue)和引用传递(ByReference)。这两者在处理函数或方法的参数时有着显著的区别,对程序性能和数据安全有直接...

    JNA 复杂结构体传递

    这里,`ByReference`使得JNA知道我们想要传递的是结构体的引用而非其副本。 总结,JNA通过`Structure`类及其子类、`FieldOrder`注解、`ByReference`和`ByValue`实现了对C复杂结构体、结构体数组和结构体指针的映射...

    java语言中的参数传递

    Java 有两类参数传递方式:按值传递(by value)和按引用传递(by reference),虽然 Java 没有真正的按引用传递,但其效果类似于 C++ 或 C# 中的引用传递。 1. **按值传递(by value)**: - 适用于基本数据类型...

    winform 方法参数的引用传递源码

    在WinForm应用开发中,经常会涉及到方法调用,而方法参数的传递方式有两种:值传递(Pass by Value)和引用传递(Pass by Reference)。本资源提供的"winform 方法参数的引用传递源码"很可能是一个示例项目,旨在...

    条款20: 宁以pass-by-reference-to-const 替换 pass-by-value

    缺省情况下,C++以by value 方式传递对象至(或来自)函数。 除非你另外指定,否则函数参数都是以实际实参的副本为初值,而调用段所获得的亦是函数返回值的一个副本。这些副本都是由对象的copy构造函数产出的,这...

    C#中的参数传递 .doc

    1. **按值传递(Pass by Value)**:这是默认的参数传递方式,适用于值类型。当值类型作为参数传递时,实际上是传递了一个副本,因此在函数内的修改不会影响原始变量。 2. **按引用传递(Pass by Reference)**:...

Global site tag (gtag.js) - Google Analytics