1. 程式人生 > 其它 >Java學習第二十四天

Java學習第二十四天

一、今天干了什麼

static關鍵字

可以用來修飾:屬性、方法、程式碼塊、內部類、

(1)使用static修飾變數:靜態變數

靜態變數與例項變數的對比

例項變數:我們建立了多個物件,每個物件都獨立有一套類中的非靜態屬性。當修改其中一個物件中的非靜態屬性的時候,不會導致其他物件中同樣的屬性值發生改變。

靜態變數:我們建立了類的多個物件,多個物件共享一個靜態變數,當通過某一個物件修改靜態變數時,會導致其他物件呼叫此靜態變數時是被修改過的。

說明:

①靜態變數隨著類的增加而增加,可以通過“類.靜態變數”的方法進行呼叫;

②靜態變數的載入要早於物件的建立;

③由於類只會載入一次,靜態變數在記憶體中只會存在一份,存在方法區的靜態域中;

④是否可以通過類/物件呼叫變數

   靜態變數 例項變數

類     可以      不可以

物件    可以       可以

(2)使用static修飾方法:靜態方法

說明:

①靜態變數隨著類的增加而增加,可以通過“類.靜態方法”的方法進行呼叫;

②是否可以通過類/物件呼叫方法

   靜態方法 例項方法

類     可以      不可以

物件    可以       可以

③靜態方法中,只能呼叫靜態方法和靜態屬性;

非靜態方法中,既可以呼叫非靜態方法和屬性,也可以呼叫靜態的方法和屬性。

(3)開發中,一般什麼樣的屬性或方法要加static:

①屬性是可以被多個物件所共享的,不會隨著物件不同而不同;

②操作靜態屬性的方法,通常設定為static;

③工具類中的方法習慣上宣告為靜態方法(可以避免去構造物件)。

(4)提醒:

①與C/C++中的static不同,Java中的static關鍵字不會影響到變數或者方法的作用域。

②在C/C++中static是可以作用域區域性變數的,但是在Java中切記:static是不允許用來修飾區域性變數。

二、明天干什麼

學習單例設計模式、理解main()方法中的語法