毫无疑问,函数传值和传引用的区别是:传值是传一份数据拷贝,而传引用的话,是可以操纵对象。

但是,一般人容易忽略的是:传引用其实也是传一份引用的副本。

实例如下:

class Number

{

  public int num;

}

public class Test

{

  public static void main(string[] str)

  {

    Number a=new Number();

    a.num=1;

    Number b=new Number();

    b.num=2;

    swap(a,b);

    system.out.println(a.num+"  "+b.num);

  }

  public static void swap(Number a,Number b)

  {

    Number temp;

    temp=b;

    b=a;

    a=temp;

  }

}

输出结果为:1  2

原理:在swap函数中,a 和b只是传了一份引用的副本,并不对实际的a和b造成影响

转载于:https://www.cnblogs.com/dazhuzhu/p/5037001.html

java值类型和引用类型的区别相关推荐

  1. Java程序员必看!java值类型和引用类型的区别

    招聘职位需求套路摘举 以下几个公司的招聘需求:(from lagou) 1.Java开发岗位 职位诱惑: 福利好待遇佳,技术氛围浓,有大牛带成长快. 职位描述: 有赞2021校招官方网申地址(请在官网 ...

  2. java引用类型和值类型_[Java教程]JavaScript中值类型和引用类型的区别

    [Java教程]JavaScript中值类型和引用类型的区别 0 2017-02-24 00:00:35 JavaScript的数据类型分为两类:原始类型和对象类型.其中,原始类型包括:数字.字符串和 ...

  3. java 值类型与引用类型_Java值类型和引用类型的区别

    似乎"值类型和引用类型的区别"是今年面试的流行趋势,我已然是连续三次(目前总共也就三次)面试第一个问题就遇到这个了,这是多大的概率啊,100%,哈哈,我该买彩票去! 言归正传,咱还 ...

  4. java值类型和引用类型 == 比较,Java中值类型和引用类型的比较与问题解决

    一.问题描述 前几天因为一个需求出现了Bug.说高级点也挺高级,说白点也很简单.其实也就是一个很简单的Java基础入门时候的值类型和引用类型的区别.只是开发的时候由于自己的问题,导致小问题的出现.还好 ...

  5. 值类型与引用类型的区别

    可以这样理解: 值类型保存的是具体的值 引用类型保存的是值的地址 例如 int a = 1; int b = a; b++; 这时b为2,a仍然是1 再看引用类型,例如有个类型是 User User ...

  6. C#类和接口、虚方法和抽象方法及值类型和引用类型的区别

    1.C#类和接口的区别 接口是负责功能的定义,项目中通过接口来规范类,操作类以及抽象类的概念! 而类是负责功能的具体实现! 在类中也有抽象类的定义,抽象类与接口的区别在于: 抽象类是一个不完全的类,类 ...

  7. 值类型和引用类型及其区别!

    值类型和引用类型的基类 引用类型和值类型都继承自System.Object类.不同的是,几乎所有的引用类型都直接从System.Object继承,而值类型则继承其子类,即直接继承System.Valu ...

  8. 值类型和引用类型的区别[转]

    似乎"值类型和引用类型的区别"是今年面试的流行趋势,我已然是连续三次(目前总共也就三次)面试第一个问题就遇到这个了,这是多大的概率啊,100%,哈哈,我该买彩票去! 言归正传,咱还 ...

  9. golang值类型与引用类型的区别

    1.golang值类型与引用类型的区别 1.1 本质存储区别 值类型与引用类型的区别主要在于: 值类型的变量: 存储当前类型的存储的数据.值类型包括数值类型.bool.string.数组.struct ...

最新文章

  1. 【spring boot】使用RestTemplate调用百度坐标转换服务
  2. ASP.NET 4 和 Visual Studio 2010 Web 开发概述
  3. Linux(内核和用户态的)动态内存管理
  4. Bootstrap源码解读之栅格化篇
  5. 10 个十分难得的 javascript 开发经验
  6. Humble Numbers USCAO chapter 3.1
  7. mysql 线性表_数据结构之线性表
  8. ISO8583报文协议详解
  9. 用计算机来猜密码,画圈圈也能解锁电脑?我猜你一定不知道!
  10. matlab2c使用c++实现matlab函数系列教程-triu函数
  11. 收藏一个好看的单选多选样式
  12. 在Unity中模拟汽车的移动
  13. 主成分分析二级指标权重_主成分分析确定指标权重的问题_主成分分析法确定权重...
  14. python模块总结_Python常用模块资料总结和归纳
  15. 三个理由告诉你 为什么社保不能断缴
  16. 杨紫富豪男友曝光 张一山结婚系剧照乌龙
  17. 判断字符串是否在base64编码范围内
  18. Storm部分:Storm Grouping -- 数据流分组(各种数据分发策略的练习)【Java版纯代码】
  19. 使用python计算最大回撤
  20. 三个数中求最大最小值

热门文章

  1. 我眼中的Visual Studio 2010架“.NET研究”构工具
  2. 算法学习--二叉查找树
  3. 外部表不是预期的格式怎么解决_1分钟拆解:如何将10多个工作表sheet,合并成一张?...
  4. Cocos2dx游戏源码合集
  5. 在.NET中探测U盘的插入/拔出
  6. linux window nginx性能,KVM虚拟机 Nginx性能测试
  7. 前端路由跳转丢失端口号_Laravel框架-路由的基本概念及实例分析
  8. Java随机生成红色_Java生成图片红色问题
  9. Android中Fragment生命周期和基本用法
  10. spark-dataframe与rdd的区别