導航:首頁 > 編程語言 > java傳值傳引用

java傳值傳引用

發布時間:2023-08-16 00:34:24

java類方法如何實現引用傳遞和值傳遞

參數是基本類型就是傳值,傳對象就是引用傳遞。

swap(Integer x, Integer y)可以傳遞引用,但是沒辦法實現交換。這跟Integer的實現方式有關。所以不是引用傳遞就一定能改變外面的值。

下面是引用傳遞,交換的情況,又臭又長。

classUntitled{

intneedFix;


publicstaticvoidswap(Untitledx,Untitledy){
inttemp=x.needFix;
x.needFix=y.needFix;
y.needFix=temp;

}
publicstaticvoidmain(String[]args){
Untitle1=newUntitled();
Untitle2=newUntitled();
u1.needFix=3;
u2.needFix=4;
swap(u1,u2);
System.out.println(u1.needFix+","+u2.needFix);
}
}

另外,你可以考慮一下引用傳遞,不過也是一種傳值,java裡面沒有事實上的指針。直接交換引用指向的對象是沒有作用的。

Untitledtemp=x;
x=y;
y=temp;

無效。

㈡ Java類是值傳遞還是引用傳遞

基本類型是值傳遞,
引用類型
可以看作是是
引用傳遞
.舉個簡單的例子吧
public
class
tt
{
public
static
void
change(int
a)
{
a=2;
}
public
static
void
change(int[]
A)
{
A[0]=2;
}
public
static
void
main(String[]
args)
{
int
b=1;
change(b);
System.out.println(b);//基本類型是
值傳遞
,所以b的值沒有改變
int[]
B={1};
change(B);
System.out.println(B[0]);//數組版,對象等引用類型是引用傳權遞,所以B的值發生改變
}
}

㈢ java方法參數怎麼引用傳遞boolean

Java中的參數傳遞:分為值傳遞和引用傳遞
但本質上,Java中只有值傳遞。引用傳遞,其實可以理解為傳的是類似指針的東西。
值傳遞就是把基本變數的值拷貝一份,傳遞這個拷貝。引用傳遞則是傳遞的引用的地址,也就是該變數在內存空間的地址。

1.值傳遞

只有基本數據類型採用值傳遞,特點是傳遞的是值的拷貝,傳遞完後兩者就沒有關系了。也就是說方法內和方法外的值互不相干

基本數據類型:
·整型:int,long,byte,short
浮點型:float,double
字元型:char
布爾型:boolean
註:8種基本數據類型以外的數據類型都為引用類型。

2.引用傳遞

指的是在方法調用時,傳遞的參數是按引用進行傳遞,其實傳遞的引用的地址,也就是變數所對應的內存空間的地址。
傳遞的是一個拷貝,即副本。也就是說,對於一個參數傳遞,存在兩個地址指向同一個內存空間。這里我們可以用內存分配示意圖來體現

3.String類型傳遞

先說結論,String類型傳遞與基本數據類型的傳遞效果相似。
說明:
String類對象一旦創建,其內容不可更改:
String類的所有方法都不會改變String類對象內容,要改變String類對象的值就必須創建一個新的String對象。
也就是說,當進行參數傳遞時,如果方法內對String類對象的值進行了修改,那麼實際上是創建了一個新的String類對象,然後讓原來的變數指向它而已。但是這個「原來的變數」是一份拷貝副本,只是一開始創建的時候與主方法中的傳遞的值相同而已,現在改變之後,兩者就毫無關系了。

閱讀全文

與java傳值傳引用相關的資料

熱點內容
怎樣關閉照片加密 瀏覽:520
文件夾變拉鏈 瀏覽:605
伺服器未在運行什麼意思 瀏覽:405
單片機應用大賽 瀏覽:462
博格上海壓縮機有限公司 瀏覽:27
招行車貸解壓有費用嗎 瀏覽:700
總統命令小說 瀏覽:818
安卓手機為什麼卡成狗 瀏覽:384
廣州市公司軟體加密 瀏覽:230
燈光設計手冊pdf 瀏覽:767
java虛線 瀏覽:428
androidio流 瀏覽:797
伺服器怎麼改nvr 瀏覽:937
真空壓縮袋怎樣打開 瀏覽:80
證券市場基礎知識pdf2012 瀏覽:720
mastercam自動編程視頻 瀏覽:9
如何得知加密類型 瀏覽:40
單片機匯編讓主程序循環執行 瀏覽:371
電訊APP是干什麼的 瀏覽:534
程序員互相之間不能透露薪水 瀏覽:974