本篇內容介紹了“怎么理解java中值傳遞與引用傳遞”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
創新互聯是專業的尼元陽網站建設公司,尼元陽接單;提供網站設計制作、網站設計,網頁設計,網站設計,建網站,PHP網站建設等專業做網站服務;采用PHP框架,可快速的進行尼元陽網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,專業的做網站團隊,希望更多企業前來合作!值傳遞
在方法的調用過程中,實參把它的實際值傳遞給形參,此傳遞過程就是將實參的值復制一份傳遞到函數中,這樣如果在函數中對該值(形參的值)進行了操作將不會影響實參的值。因為是直接復制,所以這種方式在傳遞大量數據時,運行效率會特別低下。
當把java的基本類型作為參數傳給函數體時,傳入的參數在函數體內部變成了局部變量,這個局部變量是輸入參數的一個拷貝。所有的函數體內部的操作執行結束后,這個局部變量也就完成了它的使命,它不影響作為參數的變量。
引用傳遞
引用傳遞彌補了值傳遞的不足,如果傳遞的數據量很大,直接復過去的話,會占用大量的內存空間,而引用傳遞就是將對象的地址值傳遞過去,函數接收的是原始值的首地址值。在方法的執行過程中,形參和實參的內容相同,指向同一塊內存地址,也就是說操作的其實都是源數據,所以方法的執行將會影響到實際對象。
java中用對象作為入口參數的傳遞缺省為“引用傳遞”,僅僅傳遞了對象的一個引用。當函數體內部對輸入變量改變時,實質上就是在對這個對象的直接操作。
值傳遞例子:
public static void main(String[] args) {
int num1 = 10;
int num2 = 20;
swap(num1, num2);
System.out.println("num1 = " + num1);//10
System.out.println("num2 = " + num2);//20
}
public static void swap(int a, int b) {
int temp = a;
a = b;
b = temp;
System.out.println("a = " + a);//20
System.out.println("b = " + b);//10
}
應用傳遞例子:
public static void main(String[] args) {
int[] arr = {1,2,3,4,5};
change(arr);
System.out.println(arr[0]);//0
}
//將數組的第一個元素變為0
public static void change(int[] array) {
int len = array.length;
array[0] = 0;
}
“怎么理解java中值傳遞與引用傳遞”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注創新互聯網站,小編將為大家輸出更多高質量的實用文章!
分享題目:怎么理解java中值傳遞與引用傳遞-創新互聯
本文鏈接:http://m.newbst.com/article42/hpehc.html
成都網站建設公司_創新互聯,為您提供企業建站、網站導航、建站公司、云服務器、小程序開發、Google
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯