JAVA的賦值——java學(xué)習(xí)筆記

賦值使用符號(hào)“=”,可以把“=”右邊的值復(fù)制給左邊。而右邊的值可以是常熟,變量或者表達(dá)式。左邊的變量必須是一個(gè)發(fā)額已命名的變量,也就是說已經(jīng)分配了物理地址的條件下才可以。

但常數(shù)是不可以被賦值的(如4=a是不可以的)。

基本數(shù)據(jù)類型的賦值存儲(chǔ)的是實(shí)際的數(shù)值,是實(shí)際數(shù)值的復(fù)制,修改其中一個(gè),另一個(gè)都不會(huì)改變。

對(duì)象的賦值,則是對(duì)象的引用。如果將一個(gè)對(duì)象賦值給另一個(gè)對(duì)象,則是把一個(gè)地方的引用賦值到另一個(gè)地方。這意味著只要改變其中一個(gè)對(duì)象的引用,那么原來引用的值就會(huì)被覆蓋,而之前引用的值會(huì)被回收掉。

```

class Test{

int test ;

}

public class Main {

public static void main(String[] args) {

? ? ? ? Test test1 =new Test();

Test test2 =new Test();

test1.test =1;

test2.test =2;

System.out.println("1.test1.test="+test1.test+"*****"+"test2.test="+test2.test);

test1 = test2;

System.out.println("2.test1.test="+test1.test+"*****"+"test2.test="+test2.test);

test1.test =3;

System.out.println("3.test1.test="+test1.test+"*****"+"test2.test="+test2.test);

}

}

1.test1.test=1*****test2.test=2

2.test1.test=2*****test2.test=2

3.test1.test=3*****test2.test=3

```

在第三次打印之前我們改變了引用的值,所以我們無法將兩個(gè)對(duì)象的值區(qū)分開來。這樣的問題如何解決呢?

我們來看稍微修改的代碼。

```

class Test{

int test ;

}

public class Main {

public static void main(String[] args) {

Test test1 =new Test();

Test test2 =new Test();

test1.test =1;

test2.test =2;

System.out.println("1.test1.test="+test1.test+"*****"+"test2.test="+test2.test);

test1.test = test2.test;

System.out.println("2.test1.test="+test1.test+"*****"+"test2.test="+test2.test);

test1.test =3;

System.out.println("3.test1.test="+test1.test+"*****"+"test2.test="+test2.test);

}

}

1.test1.test=1*****test2.test=2

2.test1.test=2*****test2.test=2

3.test1.test=3*****test2.test=2

```

我們通過操作對(duì)象內(nèi)部的域來解決這個(gè)問題,但是這樣做頁存在混亂的風(fēng)險(xiǎn),所以要慎用。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,823評(píng)論 18 399
  • 小編費(fèi)力收集:給你想要的面試集合 1.C++或Java中的異常處理機(jī)制的簡(jiǎn)單原理和應(yīng)用。 當(dāng)JAVA程序違反了JA...
    八爺君閱讀 5,236評(píng)論 1 114
  • 第一章 初識(shí)javaJAVA 第一講:什么是程序?:為了讓計(jì)算機(jī)執(zhí)行某些操作或解決某個(gè)問題而編寫的一系列有序指令的...
    人子日月幾點(diǎn)閱讀 604評(píng)論 0 1
  • 文經(jīng)作者授權(quán)發(fā)布,未經(jīng)允許不得轉(zhuǎn)載。 這篇獻(xiàn)給想減肥,但是早上起床還不餓的你們: 不想吃,就別吃了。 文章摘要: ...
    仙貝君閱讀 714評(píng)論 2 2
  • 文/小太陽下的烏龜 因?yàn)閻凵夏?,我變成傻白甜啊,傻傻的,純純的,甜甜的,在你面前像個(gè)小孩啊。 傻白甜,不僅僅存在于...
    小太陽下的烏龜閱讀 1,353評(píng)論 15 8

友情鏈接更多精彩內(nèi)容