国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

java - swap函數

瀏覽:108日期:2023-12-04 13:25:47

問題描述

在下面代碼中,并沒有達到交換兩個對象的效果輸出結果是3:4按理來說,java中不都是引用嗎,應該可以直接交換對象啊!請解釋一下我的錯誤,并給出解決辦法。我希望輸出結果為4:3class Int{

public int x;

}

public class Hello {

void swap(Int a,Int b){ Int t=a; a=b; b=t;}public static void main(String[] args) {Hello hello=new Hello(); Int a=new Int(); Int b=new Int(); a.x=3; b.x=4; hello.swap(a,b); System.out.println(a.x+':'+b.x);}

}

問題解答

回答1:

在Java世界中函數或者叫方法的入參都是通過值拷貝的方式進行傳遞:

原始類型(char,int,double等)都是通過直接拷貝變量值傳參;對象類型都是通過引用拷貝(跟C++中引用不同)傳參,通過該引用能夠更改其指向的對象內部值,但是更改該引用值,僅對函數內部可見,函數外部的實參依然沒有改變;

正常來說,java不能實現。并且int對象內部private final int value;是final的

標簽: java
相關文章:
主站蜘蛛池模板: 井陉县| 阳城县| 洛川县| 白朗县| 象州县| 宾阳县| 皋兰县| 鹤庆县| 延津县| 长顺县| 广南县| 丹棱县| 水富县| 平江县| 荔波县| 成都市| 郎溪县| 临邑县| 明水县| 高雄县| 江达县| 崇阳县| 阿勒泰市| 奉新县| 华亭县| 南陵县| 荣昌县| 盐源县| 鄂尔多斯市| 红桥区| 类乌齐县| 塘沽区| 嵩明县| 岚皋县| 夏津县| 平山县| 英德市| 九江市| 长治市| 临高县| 会泽县|