static、final總結
一、static總結:
1.static定義:①static被稱為靜態,可以用來修飾類的屬性或者方法。
②如果類的某個屬性,不管創建多少個對象,屬性的存儲空間只有唯一的一個,那麽這個屬性就應該用static修飾,被static修飾的屬性被稱為靜態屬性。
③static屬性可以使用對象調用,也可以直接用類名調用。
④靜態屬性是類的所有對象共享的,即不管創建了多少個對象,靜態屬性在內存中只有一個。
2.static屬性:
public class Employee {
private String name ;---------非靜態屬性
private double salary; ---------非靜態屬性
private static int count;---------靜態屬性
}
3.static方法:①定義:如果某個方法不需要與某個特定的對象綁定,那麽該方法可以使用static修飾,被static修飾的方法稱為靜態方法。
②作用:static方法可以使用對象調用,也可以直接用類名調用,建議用類名直接調用。
③何時使用static方法:如果某個方法與實例無關,也就是說不管哪個對象調用這個方法,都執行相同的操作,與對象沒有關系,則應該定義為靜態方法。不需要創建對象後再使用該方法。
④任何方法都可以直接調用靜態方法;靜態方法不能直接調用非靜態方法,需要創建對象,用對象名調用非靜態方法。
4.static塊:
②靜態塊只有在類加載的時候被執行一次,不管創建多少個對象,都不會再執行。
③如果一個類加載的時候,總要預先做一些事情,則可以放在靜態塊中,例如,讀取一個屬性文件,進行一些常規配置,寫一些日誌等。
④一個類中可以有多個靜態塊,按照順序執行。
二、final總結:
1.static定義:用於聲明屬性,方法和類。
①屬性:定義就必須直接賦值或者在構造方法中進行賦值,並且後期都不能修改。
②方法:定義必須有實現代碼,並且子類裏不可被覆蓋。
③類:不能被定義為抽象類或是接口
2.final修飾屬性:當final修飾屬性時,基本數據類型的屬性將成為常量,不能被修改。一些數學定理中的常量經常使用final修飾。
比如,π= 3.14159265358979,E= 2.718281828459045。
3.final屬性的賦值:①在聲明時同時賦值,往往與static一起使用。
②聲明時不賦值,必須在構造方法中逐一賦值。
③總的原則:保證創建每一個對象的時候,final屬性的值是確定的。
4.final修飾參數:在方法參數前面加final關鍵字,為了防止數據在方法體中被修改。
static、final總結