天天看點

head first java 01 ( 1 ~ 3 章 )

- java 中的整型和boolean不通用

  int x = 1; while (x) {} 這是錯誤的

- 建立對象

  需要兩個類, 一個是操作類例如 Dog, 另外一個是測試類, 帶有main函數.

- main()的兩種用途

  • 測試真正的類
  • 啟動你的Java程式

- 垃圾收集

head first java 01 ( 1 ~ 3 章 )
head first java 01 ( 1 ~ 3 章 )

  注意:此處的 c, d 分别在兩塊記憶體單元裡, 隻是他們的指向是相同的, 即 這是兩個指針變量, 這兩個指針變量的值是相同的, 但是它們倆本身

  的指針(位址)是不同的.

head first java 01 ( 1 ~ 3 章 )

另外:

head first java 01 ( 1 ~ 3 章 )
head first java 01 ( 1 ~ 3 章 )
head first java 01 ( 1 ~ 3 章 )

- 數組是對象 (隻要是對象, 就會存在于堆記憶體中)

  數組變量實際上就是指針,

  int[] nums; // 1步, 建立指針

  nums = new int[7];  // 2步, 在堆記憶體中配置設定空間, 并将 nums指針指向該記憶體區域

  nums[0] = 6; // 3步, 可以使用該區域了, 可以直接使用了. 6 就是一塊實實在在的記憶體區.

  對象數組中, 數組中儲存的内容是對象的指針(引用), 而并非真正的對象.

  Dog[] pets; // 1步, 建立指針

  pets = new Dog[7]; // 2步, 在堆記憶體中配置設定空間, 并将pets指向該記憶體區域, 但是每個元素中存放的是指針, 該指針目前是野指針.

  pets[0] = new Dog(); // 3步, 在堆記憶體再配置設定空間來儲存 Dog對象, 此時的 pets[0]中的指針(引用)指向該Dog對象的記憶體單元.