回覆列表
-
1 # 有可為程式設計
-
2 # 自學JAVA
這裡我們從更深層次來看看Java如何給引用變數賦值:
在Java中我們先姑且把資料型別氛圍基本資料型別和引用資料型別,那麼從下面幾個點答主來說說Java中的引用資料型別的賦值:
瞭解基本資料型別和引用資料型別的基本概念基本資料型別
Java中的基本資料型別就是我們剛剛開始學的時候的八大基本資料型別:int,byte,short,long,double,float,char,boolean。這八大基本資料型別說白了就是Java中幫我們定義好的,我們常用的一些需要用到程式中做資料計算的型別。這些型別的定義語法結構,基本一樣,如下面:
int a=10;
下面我們在來看看定義完當前的基本資料型別的變數,在電腦中記憶體的怎麼樣的。
當我們定義了一個int型別資料的時候,在電腦記憶體中會開闢一個空間直接存上我們賦的值10進去,那麼當我們要用這個變數的時候是直接引用a變數名來使用,並且是直接得到的是開闢空間中的值。
引用資料型別
除了八種基本資料型別以外,我們編寫的類,作為資料型別建立的變數,Object類等等。象這種類作為資料型別的都屬於引用資料型別。那麼引用資料型別建立的語法如下:
Dog d=new Dog();
d.name="啊黃";
d.age=1;
引用資料型別建立的時候它的記憶體分配情況:
可以看到引用資料型別開闢的空間中存的是指向物件的地址值,那麼這個時候你如果直接引用d物件的話是用到的地址值。
基本資料型別和引用資料型別的賦值透過上面的描述,我們透過對比了解到基本資料型別的賦值和引用資料型別的賦值的不同,這裡我們來總結幾點:
引用資料型別賦值的透過new 物件();來給前面的物件賦值引用資料型別的物件d存的是=後面實際new出來的物件的地址我們使用物件d中的某個屬性,需要透過地址找到物件中的某個屬性的空間總結:引用型別變數其實就和我們建立基本資料型別的變數其實概念是一樣的,但是引用資料型別的賦值是需要對應資料型別的類的new 物件();基本資料型別是直接賦值對應資料型別的值。
A a = new A();
new A() 物件,baiA a 引用變數du,a = new A()將物件地址給了引用變數。
例項變數也可以叫他全zhi局變數,就是將變數放在類的方法之外的變數。
所以引用物件是用於儲存物件地址的,例項變數描述的是變數位置。