標籤:int 記憶體配置 param 改變 允許 volatile void tran class
這裡的普通方法和成員變數是指,非靜態方法和非靜態成員變數
首先static是靜態意思,是修飾符,可以被用來修飾變數或者方法。
static成員變數有全域變數的作用 非static成員變數則沒有全域變數的作用 局部變數是類的方法裡面的變數
靜態static成員變數是指類的成員變數,他不屬於類的對象,只單獨屬於類,被所有對象共用。當在類中改變他的值時,他在每個對象裡面的值都會隨之改變。
這也就是說在對象中不能改變他的值,只能在他所在的類中改變,如果他帶有final的話(static final)就表明這是一個常量。
static變數是靜態變數,當載入類時即已載入,非static變數執行個體對象時載入。
static變數是靜態變數當改變其中的值,其它執行個體中的該static變數也會改變,非static變數只會在具體所在的那個對象中改變,不會影響其它執行個體。
例子: static int i=1; 這裡的i就是一個靜態變數。具體特性如下
靜態成員變數與普通成員變數
靜態方法的使用方式
是在類中執行該方法時,該方法並不對成員變數有任何操作,也就是說該靜態方法的操作不針對對象,只針對該類時,使用。那麼使用該類也就不需要建立對象,而可以直接通過類名.方法名實現。
工具類.png java中的類修飾符、成員變數修飾符、方法修飾符
類修飾符:
public(存取控制符),將一個類聲明為公用類,他可以被任何對象訪問,一個程式的主類必須是公用類。
abstract,將一個類聲明為抽象類別,沒有實現的方法,需要子類提供方法實現。
final,將一個類生命為最終(即非繼承類),表示他不能被其他類繼承。
friendly,預設的修飾符,只有在相同包中的對象才能使用這樣的類。
成員變數修飾符:
public(公用存取控制符),指定該變數為公用的,他可以被任何對象的方法訪問。
private(私人存取控制符)指定該變數只允許自己的類的方法訪問,其他任何類(包括子類)中的方法均不能訪問。
protected(保護存取控制符)指定該變數可以別被自己的類和子類訪問。在子類中可以覆蓋此變數。
friendly ,在同一個包中的類可以訪問,其他包中的類不能訪問。
final,最終修飾符,指定此變數的值不能變。
static(靜態修飾符)指定變數被所有對象共用,即所有執行個體都可以使用該變數。變數屬於這個類。
transient(過度修飾符)指定該變數是系統保留,暫無特別作用的臨時性變數。
volatile(易失修飾符)指定該變數可以同時被幾個線程式控制制和修改。
方法修飾符:
public(公用控制符)
private(私人控制符)指定此方法只能有自己類等方法訪問,其他的類不能訪問(包括子類)
protected(保護存取控制符)指定該方法可以被它的類和子類進行訪問。
final,指定該方法不能被重載。
static,指定不需要執行個體化就可以啟用的一個方法。
synchronize,同步修飾符,在多個線程中,該修飾符用於在運行前,對他所屬的方法加鎖,以防止其他線程的訪問,運行結束後解鎖。
native,本地修飾符。指定此方法的方法體是用其他語言在程式外部編寫的。
java static成員變數方法和非static成員變數方法的區別