Java中的值传递和引用传递 Java中的值传递和引用传递实例介绍

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

Java中的值传递和引用传递 Java中的值传递和引用传递实例介绍

  2021-03-20 我要评论
想了解Java中的值传递和引用传递实例介绍的相关内容吗,在本文为您仔细讲解Java中的值传递和引用传递的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Java,值传递,引用传递,下面大家一起来学习吧。
复制代码 代码如下:

package Object.reference;
public class People {
    private String name;
    private int age;
    public People(){
    }
    public People(String name, int age) {
        super();
        this.name = name;
        this.age = age;
    }
    public String toString(){
        return "name:" + name + " age:" + age;
    }
    public String getName() {
        return name;
    }
    public int getAge() {
        return age;
    }
    public void setName(String name) {
        this.name = name;
    }
    public void setAge(int age) {
        this.age = age;
    }
}

复制代码 代码如下:

package Object.reference;
/*  java 中的值传递和引用传递
    //www.qb5200.com/clara/archive/2011/09/17/2179493.html
    java 中没有引用传递,都是值传递的
*/
public class Test {
    public static void swap(People a, People b, boolean flag) {
        if (flag) {
            // 可以通过传递副本修改对象的值
            a.setName("changeName");
            a.setAge(100);
        } else {
            //副本交换,并不影响主程序的指针
            People c = a;
            a = b;
            b = c;
        }
    }
    public static void main(String[] args) {
        People p1 = new People("yingjie", 23);
        People p2 = new People("yuexin", 20);
        swap(p1, p2,false);//传递的是p1,p2的副本,函数调用前后p1,p2没任何改变
        swap(p1, p2,true);//传递的是p1,p2的副本,可以通过传递副本修改对象的值,函数调用前后p1对象内容改变
    }
}

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们