java - fungsi swap
某草草
某草草 2017-05-17 10:05:49
0
1
665

Dalam kod berikut, kesan pertukaran dua objek tidak dicapai
Hasil keluaran ialah 3:4
Secara logiknya, bukankah semua rujukan dalam Java sepatutnya boleh menukar objek!
Tolong jelaskan kesilapan saya dan beri penyelesaian.
Saya mahu outputnya ialah 4:3
class Int
{

public int x;

}

Helo kelas awam {


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);
}

}

某草草
某草草

membalas semua(1)
習慣沉默

Dalam dunia Java, parameter input fungsi atau kaedah dihantar melalui salinan nilai:

原始类型(char,int,double等)都是通过直接拷贝变量值传参;
对象类型都是通过引用拷贝(跟C++中引用不同)传参,通过该引用能够更改其指向的对象内部值,但是更改该引用值,仅对函数内部可见,函数外部的实参依然没有改变;

Biasanya, java tidak boleh melaksanakannya.
Dan bahagian dalam objek int private final int value; adalah muktamad

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!