2017/08/12

Java的static和non-static

- 被宣告成static的變數、方法,都是被共用的,而且已經存在於記憶體
- 若以時間軸來看,static的變數、方法是一開始就存在於記憶體,
not-static對它而言是「未來式」。所以not-static可以使用或呼叫static
變數、方法,但static不可以使用或呼叫non-static變數、方法

- static method儘量以【類別】名稱來使用它,不要用【物件】名稱

使用static的適當時機

(1)該類別內若不需要儲存任何使用者的資訊,只是純粹做計算
(2)該類別內有【類別變數】,但此【類別變數】是為了讓數個【物件】
共用,此時須注意同步的問題(通常會發生在多執行緒)