標籤:而不是 簡單 time data- 固定 記憶體 comm new 語句
在java中有一種被稱為類類型的變數,它不同於基本類型變數儲存值的方式。不管是基本變數還是類類型變數,都實現為一個記憶體位置。但是,由於基本變數所需的記憶體數量是相同的,所以系統可以給它設定一個固定的空間保持命名物件的變數。類類型變數則不同,由於它的長度不確定,從而使得系統難以給其分配一個固定的空間來儲存命名物件的變數。因此,對於類類型變數,它儲存的是對象的記憶體位址,而不是對象本身。下面舉個例子加以證明:
/**
* Comments:類類型之間賦值的特點執行個體
* @author 韓國內部分工
* Create Time:2013-09-12
*
*/
public class StringTest {
private String str;
public String getStr() {
return str;
}
public void setStr(String str) {
this.str = str;
}
public static void main(String[] args) {
StringTest str1=new StringTest();
StringTest str2=new StringTest();
str1.setStr("111111");
str2.setStr("222222");
//類類型之間的賦值,是將str1的記憶體位址賦值給了str2,賦值後它倆指向了同一記憶體位址
str2=str1;
str2.setStr("333333");
System.out.println(str1.getStr()); //輸出結果為333333
System.out.println(str2.getStr()); //輸出結果為333333
}
}
從輸出的結果可以看出,類類型變數並不是簡單的將賦的值儲存於命名物件中,而是將地址存放於類類型變數中。所以類類型變數之間的指派陳述式賦值的是記憶體位址,賦值後兩個變數指向同一地址。
Java:類類型變數