1. 程式人生 > >static、final總結

static、final總結

構造方法 關鍵字 虛擬 靜態 代碼塊 順序執行 覆蓋 style 抽象

一、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塊:

static塊和static的屬性以及方法的性質是相同的,用static修飾的代碼塊表示靜態代碼塊,當Java虛擬機加載類時,就會執行該代碼塊。

②靜態塊只有在類加載的時候被執行一次,不管創建多少個對象,都不會再執行。

③如果一個類加載的時候,總要預先做一些事情,則可以放在靜態塊中,例如,讀取一個屬性文件,進行一些常規配置,寫一些日誌等。

④一個類中可以有多個靜態塊,按照順序執行。

二、final總結:

1.static定義:用於聲明屬性,方法和類。

①屬性:定義就必須直接賦值或者在構造方法中進行賦值,並且後期都不能修改。

②方法:定義必須有實現代碼,並且子類裏不可被覆蓋。

③類:不能被定義為抽象類或是接口

,不可被繼承。

2.final修飾屬性:final修飾屬性時,基本數據類型的屬性將成為常量,不能被修改。一些數學定理中的常量經常使用final修飾。

比如,π= 3.14159265358979E= 2.718281828459045

3.final屬性的賦值:①在聲明時同時賦值,往往與static一起使用。

②聲明時不賦值,必須在構造方法中逐一賦值。

③總的原則:保證創建每一個對象的時候,final屬性的值是確定的。

4.final修飾參數:在方法參數前面加final關鍵字,為了防止數據在方法體中被修改。

static、final總結