`

方法传参 “引用赋值”

阅读更多

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.math.BigDecimal;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.omg.SendingContext.RunTime;


public class Test {
   private Date date;
   private String x;
   public static String m;
  
  
 public String getX() {
 return x;
}

public void setX(String x) {
 this.x = x;
}

 public Date getDate() {
 return (Date) date.clone();
}

   public void setDate(Date date) {
 this.date = date;
}

 /**
  * @param args
  * @throws IOException
  */
 public static void main(String[] args) throws IOException {
     Test t = new Test();
      t.setX("a");
     Test t2 = new Test();
     t2.setX("b");
     swap(t,t2);
     System.out.println(t.getX()+"    " +t2.getX());
     //如果传递的是引用的话
     Test tem = new Test();
      tem =t;
      t = t2;
      t2 =tem;
      System.out.println(t.getX()+"    " +t2.getX());
 } 
 public static void swap(Test x , Test y){
  Test tem = new Test();
  tem =x;
  x =y;
  y = tem;
 }

}

分享到:
评论

相关推荐

    引用类型按值传递举例.png|引用类型按值传递举例.png

    Js引用类型按值传递的题目:两个变量间赋值时,以及作为变量给函数传参时,只是将原变量中的值复制一个副本给对方变量或形参变量 i. 对于原始类型的值,修改新变量,不影响原变量 ii. 对于引用类型的值的值,因为...

    PHP闭包函数传参及使用外部变量的方法

    // 测试闭包传参及use使用外部变量 public function testClosure($t1, $t2) { $closure = function ($param1, $param2) use ($t1, $t2) { echo $param1 . $param2 . $t1 . $t2; }; // 执行闭包函数 $this->...

    引用类型传值方法

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

    FastReport 使用说明_动态传参总结(C#版)

    2. **参数赋值**:在运行时,你可以通过C#代码动态设置参数值。例如,如果你想根据用户输入来设定参数,可以这样操作: ```csharp frxReport1.Parameters["paramName"].Value = userInput; ``` 3. **参数引用**...

    python基础入门教程:传参是传值还是传引用.pdf

    由于`c`和`list`引用的是同一对象,`append`方法改变了对象的内容,但未改变对象本身,所以外部的`list`也反映了这种变化。 然而,在例2中,当函数`test2`接收到字符串`str`作为参数`p`时,我们尝试将`p`指向一个新...

    论JS函数传参时:值传递与引用传递的区别

    首先讨论函数之前,先弄清楚基本类型值与引用类型值的复制问题 一、数据类型的复制分析 ...当基本类型的A给另一个基本类型B赋值时,会在栈里面创造一个空间,将A的值,复制一份,放在B上。 var A=5; var B=A; 在内

    实例化php类时传参的方法分析

    当外部程序重新调用类的方法时,类会被重新实例化,这意味着之前对属性的赋值可能会丢失,除非你采取措施保存这些值,如使用`static`变量或`session`。 在`son2.php`中,我们看到将一个对象赋值给另一个变量(`$son...

    详解python函数传参是传值还是传引用

    当我们将一个变量`a`赋值为2,并将其传递给函数`test`,函数内部创建了一个新的变量`c`,它与`a`具有相同的值,但不是同一个对象。如例子所示,即使在函数内部改变了`c`的值,`a`的值保持不变,因为它们各自指向内存...

    js给onclick赋值传参数的两种方法

    以上两种方法可以根据实际需要传入的参数情况,灵活地在JavaScript中给onclick事件赋值。虽然这里介绍的方法简单且易于理解,但在使用过程中可能会出现作用域和闭包相关的问题,建议深入学习JavaScript的作用域和...

    es5生成class支持构造传参继承函数复用多继承

    在这个例子中,`Person`函数就是我们的构造函数,`this`关键字指向新创建的对象,`name`参数会被赋值给`this.name`。 接下来,我们讨论如何实现继承。在ES5中,我们通常使用原型链(prototype chain)来实现继承。...

    C# winform窗体间传值(使用委托或事件)

    ###方法1:通过保存对象的引用调用其方法实现对子窗体的控制; ###方法2:通过委托,在子窗体显示之前,为委托赋值,关注主窗体的数据变化,当有当有多个窗体需要接收信息,只需要为委托继续赋值(+=)即可,实现了...

    C++——拷贝构造和重载的赋值运算符

    它遵循"左值不丢失"的原则,即赋值操作不会改变左操作数的引用。首先,需要释放`this->x`指向的内存,然后分配新的内存并复制`a.x`的内容,最后更新`y`的值。返回`*this`使得可以链式赋值。这个过程被称为深赋值,以...

    导图_指针与引用

    比如,函数参数可以接受指针或引用,以达到非拷贝传参的效果。 总结来说,指针提供了更底层的内存操作能力,适合处理动态内存和复杂的数据结构,但同时也增加了程序出错的风险。引用则为C++提供了一种安全、简洁的...

    iOS Block 的使用, 包括传值, 基本用法

    在Objective-C中,Block默认是栈上的对象,当Block作为返回值或者赋值给属性时,通常需要进行一次`copy`操作,使其转为堆Block,以确保Block的生命周期与持有它的对象一致。 通过以上内容,我们可以看到Block在iOS...

    浅析java中Integer传参方式的问题

    但是,这个引用本身是不可变的,也就是说,我们不能通过在方法内部改变这个引用来影响到方法外部的对象。例如,如果我们有一个方法: ```java public void change(Integer i) { i = new Integer(55); // 这里只是...

    对象引用、可变性和垃圾回收1

    Python的参数传递方式是共享传参,这意味着函数参数是实参引用的副本,因此函数可以修改可变对象,但不能改变对象的标识。为了避免在函数默认值中使用可变对象,因为它们会在整个程序运行期间保持同一份,这可能导致...

    C、C++达内汇总笔试题(全)-2013.doc

    - 不像普通变量传参,引用传参不复制实参,节省时间和空间,尤其处理大对象时更有效率。 - 相比指针,引用更易用,不易出错,无需解引用操作,调用时直接使用变量名即可。 4. 使用“常引用”: 常引用是引用的一...

    Java面试总结.docx

    Java中方法传参有两种主要方式:基本类型传值、引用类型传引用。 1. **基本类型传值:** - 当方法接收一个基本类型参数时,实际上传递的是该值的一个副本。 - 修改不会影响到原始数据。 2. **引用类型传引用:**...

    C#类型转换之初级篇

    - **值的复制**:包括赋值运算和方法传参时的参数传递,如果源类型与目标类型不一致,则需要进行类型转换。 #### 类型转换的分类 C#中的类型转换可以根据不同的标准进行分类: 1. **基于转换方式的分类**: - **...

Global site tag (gtag.js) - Google Analytics