「九章算法」JAVA基礎筆記--Reference 引用

一.引用的介紹

引用:爲對象起立另一個名字,引用類型引用另一種類型。
引用並非對象,相反的,它只是爲一個已存在的對象所起的另外一個名字。

eg. ArrayList intList = new ArrayList();

  • 這個 intList 不是對象本身,是對象的引用
  • 右邊的“new ArrayList”,是以ArrayList類爲模板,在堆空間裏創建一個ArrayList對象。

java–對象引用與對象的區別

二.什麼是引用

引用好比遙控器,對象好比電視機

三.引用的賦值

Student student1 = new Student("Jack"); 
Student student2 = new Student("Rose"); 

● new出來兩個對象
● student1和student2是這兩個對象的引用

提問: student1 = student2; //what heppened here?
在這裏插入圖片描述
舉例:

class IntegerWrapper {
       public int integer;       
       public IntegerWrapper(int value) {               
       this.integer = value;   
       }
}    
public class Main {
       public static void increment(int a) {
       		a++;
       }
       public static void increment(IntergerWrappper intw) {
       		intw.integer++;
       }
       public static void main(String []args){
       		int a = 10;
       		IntegerWrappper intw = new IntegerWrapper(10);
       		increment(a);
       		increment(intw);
       		System.out.println(a);  //輸出10
       		System.out.println(intw);	//輸出11  通過引用把這個引用指的對象的值給改變
       }
}

總結:
● 傳遞引用 (其實是傳遞對象的地址)
● 修改引用所指向對象的數據則有變化,修改引用沒有任何效果

四.引用的好處

● 引用存的是指向這個對象的地址
● 使得數據存儲更加的整齊
● 需要專遞引用去修改數據

五.特殊引用null

null :空的引用,沒有引用任何對象。

ArrayList<Integer> list = new ArrayList<Integer>(); 
list.add(1); 
list = null; // list變成了空引用 
list.add(1); // NullPointerException 空指針異常

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章