当前位置: 首页 > news >正文

如何自己办网站口碑营销什么意思

如何自己办网站,口碑营销什么意思,免费机械加工网,wordpress极简模版在搞懂这个问题之前, 我们要首先了解什么是值传递, 什么是引用传递? 值传递: 传递的是数据的副本,修改副本不会影响原始数据。引用传递: 传递的是数据的引用(地址),修改引用会直接影响原始数据. 也就是说,值传递和引…

在搞懂这个问题之前, 我们要首先了解什么是值传递, 什么是引用传递?

  • 值传递: 传递的是数据的副本,修改副本不会影响原始数据。
  • 引用传递: 传递的是数据的引用(地址),修改引用会直接影响原始数据.

也就是说,值传递和引用传递最大的区别是传递的是自身,还是复制的副本,如果传递的是自身则为引用传递,如果传递的是复制的副本则为值传递。

但是在Java语言中, 只有值传递, 没有引用传递

下面我们看一个例子, 传递基本数据类型 int 的参数, 之后再修改传递的参数, 然后打印结果

package value_propagation;public class Test01 {public static void main(String[] args) {int a = 333;System.out.println("调用方法之前: " + a);change(a);System.out.println("调用方法之后: " + a);}public static void change(int number) {number = 666;  // 修改 number 的值}
}

在这里插入图片描述
看上面结果可以知道 int 是值传递, 传递的只是个副本, 并没有修改原始值

然后我们传递一个对象(引用类型) 试试

package value_propagation;public class Test02 {public static void main(String[] args) {Integer a = new Integer(333);System.out.println("调用方法之前: " + a);change(a);    // change(a) 传递的是 a 引用的副本System.out.println("调用方法之后: " + a);}public static void change(Integer number) {number = 666;  // 修改 number 的值,}
}

在这里插入图片描述

在 change 方法中,number 是局部变量,它接收到 a 引用的副本。 因此,当你修改 number 为 666 时,实际上只是改变了 number 这个局部变量的引用指向的内容。这并不会影响外部的 a,因为 a 和 number 是两个不同的引用。 a 仍然指向 Integer 对象 333,而 number 只是一个局部的副本。

下面我们看一个有争议的传递, 传递一个数组

package value_propagation;public class Test03 {public static void main(String[] args) {int[] arr = {1, 2, 3, 4};System.out.print("调用方法之前: ");for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + " ");}change(arr);System.out.print("\n调用方法之后: ");for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + " ");}}public static void change(int[] array) {array[2] = 666;}
}

在这里插入图片描述

这是不是说明Java支持引用传递呢?
并不是。这里在参数传递的过程中,只是把实参的地址拷贝了一份传递给形参. update方法中只修改了参数地址里面的内容,并没有对形参本身进行修改。

下面我们将代码稍加改动

package value_propagation;public class Test04 {public static void main(String[] args) {int[] arr = {1, 2, 3, 4};System.out.print("调用方法之前: ");for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + " ");}change(arr);System.out.print("\n调用方法之后: ");for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + " ");}}public static void change(int[] array) {array = new int[] {11,22,33,44};}
}

在这里插入图片描述

如果是引用传递,那么我在新方法中无论如何修改,那么都应该是影响原对象才对,而刚才我稍微调整了代码之后就发现其并非引用传递,而是值传递,这是因为当传递数组时,其传递的是"引用副本”,而非真正的引用对象(也就是其本身)。
也就说,当传递数组时,其实传递的是“引用副本”, 还是值传递

http://www.yidumall.com/news/7912.html

相关文章:

  • 怎么做垂直门户网站网站推广软件哪个最好
  • 帝国行业网站模板简单网页制作模板
  • 天河网站建设哪家强科学新概念外链平台
  • 洛阳网站优化个人怎么在百度上做推广
  • 分享网站制作上海最新发布
  • 昌平沙河网站建设html网页制作模板
  • 武汉可以做网站的地方重庆seo网站运营
  • 全球速卖通网址西安企业seo
  • 价格划算的常州做网站西安排名seo公司
  • 百度公司做网站优化多少钱安卓优化大师最新版
  • wordpress删除空标签排名优化价格
  • 阿克苏网站怎么做seo新塘网站seo优化
  • 低价备案域名厦门谷歌seo公司有哪些
  • windows 2003 取消网站访问密码今天的新闻是什么
  • 网站建设新际八上数学优化设计答案
  • 内部网站开发软件搜索引擎营销优化策略有哪些
  • 维度网络专业做网站成品在线视频免费入口
  • 上海高端网站建设高端网站建设网站运营一个月多少钱
  • 做网站的公司市场seo西安
  • 网站开发 弹窗广州seo网站多少钱
  • 广西建设行政主管部门官方网站卖友情链接赚钱
  • 织梦栏目页不显示网站描述html网页制作代码大全
  • 相亲网站如何做产品推广步骤
  • 怎样给网站找空间做备案seo的关键词无需
  • 深圳优化公司宁波抖音seo搜索优化软件
  • 网站建设费用有哪些营销型网站有哪些平台
  • vs2008可以做网站精准客源app
  • 建立站点的基本步骤seo网站建设
  • 电影怎么做bt种子下载网站营销策略理论
  • dedecms 广告管理 js 网站变慢网站模板哪家好