static修飾符與遞迴函式

2022-09-20 03:39:14 字數 1245 閱讀 3433

1、是我們main函式的一種修飾符,同時標示著被static修飾的成員可以被類直接呼叫,如:(型別 . 屬性  |  類名 . 方法)

2、static 修飾符主要應用在5個地方:

* 靜態成員變數

* 靜態成員方法

* 靜態**塊

* 靜態內部類

* 靜態導包

3、static和非static的區別

區別一:static修飾的成員是隨著類的載入而載入(優先),而非static成員是隨著物件的建立而載入

區別二:靜態方法|靜態**塊只能呼叫靜態成員,非靜態成員是不能直接呼叫的,建立物件(不能使用this關鍵字)

非靜態方法可以直接呼叫非靜態成員,也可以呼叫靜態成員.類的物件進行呼叫靜態成員

區別三:靜態成員對於多個物件而言是共享的

非靜態成員對於多個物件是彼此獨立的

1、把類的公有屬性定義在內部的過程被稱之為封裝:包括屬性與方法

2、為了保證欄位的私隱性: 我們選擇使用private修飾符修飾變數

3、宣告對應的get/set方法對變數的讀寫操作提供支援

後續學習的框架中只認get/set方法 myeclipse中生成get set的快捷鍵 alt+shift+s  點選r鍵  選擇對應的字段 生成get/set

1、格式為:型別...引數名  (如:string ... name )

2、不定長引數必須寫在引數列表的末尾,且不定長引數只能有乙個

3、不定長引數實質上是將引數轉化為相應長度的陣列;

1

public

class

lianxi 78

public

static

void print(int

...a)12}

13 }

1、保證同名方法的引數不同: 個數 型別 順序

2、和訪問修飾符 返回值型別無關

1、特徵為:自己呼叫自己

2、重點在於:判斷遞迴何時結束

遞迴例題 

1

public

class

feibonaqie

1

public

class

test01

11 }

以下為本例題的遞迴示意圖

static靜態修飾符

靜態成員歸整個類所有,不依賴類特定的例項,是被類的所有例項共享。只要這個類被jvm載入,就可以根據類名在全域性資料區域內找到它們。因此,靜態成員可以在任何物件建立之前訪問而無需訪問物件。static關鍵字修飾的成員變數稱為靜態成員變數,簡稱靜態變數。靜態變數是屬於類,但是不依賴類特定的例項。靜態變數...

修飾符之static

靜態屬性可以用類名直接訪問,在類載入時就會被初始化到方法區。成員變數在建立物件時初始化 1.靜態方法可以用類名直接呼叫。2.靜態方法中只能訪問類的靜態成員 包括屬性和方法 3.靜態方法中不可以出現this this是指當前物件,而靜態方法裡時沒有當前物件的 注意 1.引用調靜態方法,實際是對引用型別...

static修飾符的使用

static修飾符能修飾內部類,方法,變數,塊。靜態 成員意味著該成員屬於類級,而不依賴於類的例項,也不依賴於任何乙個類的成員,可以不通過建立類的例項來使用靜態成員。靜態變數在類被加載入時初始化,乙個類只有乙個靜態變數的記憶體空間,而不會依賴於物件再次分配空間。區域性變數不能被宣告為靜態變數。靜態方...