日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Java參數(shù)傳遞機(jī)制分析:值與引用

Java參數(shù)傳遞機(jī)制

創(chuàng)新互聯(lián)公司專注于安平網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供安平營(yíng)銷型網(wǎng)站建設(shè),安平網(wǎng)站制作、安平網(wǎng)頁(yè)設(shè)計(jì)、安平網(wǎng)站官網(wǎng)定制、小程序開(kāi)發(fā)服務(wù),打造安平網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供安平網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。

Java究竟是應(yīng)該按照什么來(lái)傳遞參數(shù)?值?引用?還是兩者皆有?

其實(shí),弄清楚這個(gè)問(wèn)題得從概念入手。什么是按值傳遞,什么是按照參數(shù)傳遞。

定義一個(gè)變量TestObject obj = new TestObject(); 然后把 obj 作為參數(shù)傳遞給一個(gè)方法。如果在這個(gè)方法中,只能改變obj指向的這個(gè)對(duì)象的內(nèi)容,那就是“值傳遞”,傳過(guò)去的值就是指向這個(gè)對(duì)象的指針。如果在這個(gè)方法中通過(guò)操作,使得返回后的obj指向另外一個(gè)對(duì)象(通過(guò)equal判斷返回來(lái)的對(duì)象是否與原對(duì)象在內(nèi)存中指向同一內(nèi)存地址),那就是“引用傳遞”,傳過(guò)去的是對(duì)這個(gè)指針變量的“引用”。

Java參數(shù)傳遞機(jī)制分析代碼

 
 
 
  1. public class PersonT {   
  2.  
  3.     public void change(Person p) {   
  4.         p.name = "mary";   
  5.         p.age = 20;   
  6.     }   
  7.  
  8.     public void changeInt(int i) {   
  9.         i = 8;   
  10.     }   
  11.     public void change1(Person p){   
  12. //新建對(duì)象,name為tpm,age為22   
  13.        p = new Person("tom",22);   
  14.     }   
  15.     public static void main(String[] args) {   
  16.         PersonT t = new PersonT();   
  17.         Person p = new Person("john", 18);   
  18.         Person p1 = p;   
  19.         System.out.println(p);   
  20. //通過(guò)方法改變對(duì)象屬性值   
  21.         t.change(p1);   
  22.         System.out.println(p1);   
  23.         System.out.println("傳回來(lái)的值指向是否一致:" + p.equals(p1));   
  24. //通過(guò)方法改變整數(shù)值   
  25.         int i = 10;   
  26.         System.out.println("i值為:" + i);   
  27.         t.changeInt(i);   
  28.         System.out.println("i值為:" + i);   
  29. //新建一對(duì)象,改變對(duì)象值   
  30.         t.change1(p);   
  31.         System.out.println(p);   
  32.     }   
  33. }   

輸出結(jié)果為:

姓名:john年齡:18

姓名:mary年齡:20

傳回來(lái)的值指向是否一致:true

i值為:10

i值為:10

姓名:mary

年齡:20

以上就是對(duì)Java參數(shù)傳遞機(jī)制的一些分析。


網(wǎng)站標(biāo)題:Java參數(shù)傳遞機(jī)制分析:值與引用
分享鏈接:http://m.5511xx.com/article/dpphdhd.html