靜態,方法,函式,引數

2021-10-01 20:45:10 字數 2310 閱讀 7106

靜態(static):是靜態的,不變的,在某個類中只有乙個,不會因例項化物件的不同而不同,它可修飾類,字段,屬性,方法等

如在乙個方法前加上static修飾後想要對其進行呼叫可以直接點出來,無需再對類進行例項化

靜態類:

只能包含靜態成員,非靜態成員不能使用,而非靜態類可以包含靜態的方法,字段,屬性,事件,無論對這個非靜態類建立多少個例項,它的靜態成員只有乙個

不能對其實例化

不能被繼承 靜態類是乙個抽象的密封類

不能包含例項建構函式

靜態變數:static只能修飾成員變數,不能修飾區域性變數

每次重新使用該變數方法,類,或自定義類時,變數的值為程式這次執行最後一次為變數賦值時的值

靜態變數一直記錄變數的值,一直到下次賦值

不同執行緒下訪問的靜態屬性總是同一屬性,如果某一線程更改了屬性值,將造成其他執行緒訪問屬性值的錯誤

靜態成員只被建立一次,所有靜態成員只有乙份,而例項成員有多少個物件就有都少個成員

靜態方法:在方法(函式)前用static修飾,表示此方法為所在類或所在自定義類所有,而不是這個類的例項所有

在靜態方法中只能呼叫同類中其他的靜態成員(包括變數和方法),不能直接訪問類中的非靜態成員

每乙個執行緒在同一時間訪問的靜態方法都是不同的,因此靜態方法在多執行緒呼叫中不會產生衝突

在靜態方法中不能直接呼叫例項成員,因為靜態方法被呼叫時,物件還有可能不存在

this/base關鍵字在靜態方法不能使用,因為有可能物件還不存在

靜態方法只能被過載,不能被重寫,因為靜態方法不屬於類的例項成員

靜態建構函式:

靜態類可以有靜態建構函式,靜態建構函式不可繼承

可以用於靜態類,也可用於非靜態類

無訪問修飾符,無引數,只有乙個static標記

不可被直接呼叫,當建立類例項或引用任何靜態成員之前,靜態建構函式被自動執行,並且只執行一次

適合使用static修飾:

當變數需要被共享時可以將變數定義為靜態變數

當方法需要被反覆呼叫時可以將方法定義為靜態方法

當乙個類中包含的成員都是靜態時可以將類定義為靜態類

使用static時需要注意的地方:

靜態類中的所有成員也必須是靜態

非靜態類中的成員可以是靜態也可以是非靜態類

乙個靜態的函式內部只能使用該函式外部的靜態成員

乙個類中的公開靜態成員,在另外乙個類中通過直接使用類名點的形式呼叫這個成員

方法:乙個方法是把一些相關的語句組織在一起,用來執行乙個任務的語句塊,可以將方法理解為要麼這些**一起執行,要麼都不執行

方法分為

無返回值方法:指該方法只管執行完成其內部封裝的每一條**

有返回值方法:指該方法在執行完成其內部封裝的**之後必須返回乙個指定型別的結果

方法的呼叫:乙個類中的靜態方法直接使用類名點找到方法名稱,然後小括號中按照條件填寫引數呼叫

乙個類中的非靜態方法先對類進行例項化,使用例項化物件點找到方法名稱,然後小括號中按照條件填寫引數呼叫

方法的引數分為:

有參方法:方法至少含有有乙個或多個引數

無參方法:方法不具有引數

引數的型別:

形參:方法形式上的乙個引數,只可遠觀,告訴使用者在使用的方法的時候必須要提供對應的引數,以及方法體中實現運算處理的引數

實參:實際上的引數,真是使用的,使用者在使用方法的時候為方法提供的這個引數,以及在方法體中實現具體運算的資料

方法的引數傳遞:當呼叫帶有引數的方法時,您需要向方法傳遞引數

值傳參:這是引數傳遞的預設方式,當呼叫乙個方法時,會為每個值引數建立乙個新的儲存位置,實參的值會複製給形參,實參和形參使用的是兩個不同記憶體中的值,當形參的值發生改變時,不會影響實參的值,保證了實參資料的安全

引用傳參:引用引數是乙個對變數的記憶體位置的引用,與值引數不同的是,它不會為這些引數建立乙個新的儲存位置,引用引數表示與提供給方法的實際引數具體相同的記憶體位置

按輸出傳遞引數(out):return語句可用於只從函式中返回乙個值

引數陣列與陣列引數:

引數陣列:當宣告乙個方法時,您不能確定要傳遞給函式作為引數的引數數目,引數陣列通常用於傳遞未知數量的引數函式

陣列引數:傳遞陣列作為函式的引數,可以通過指定不帶索引的陣列名稱來給函式傳遞乙個指向陣列的指標

可選引數:可選引數是指宣告方法的時候,給方法的引數設定乙個預設值,可以選擇不填寫

遞迴演算法:乙個方法可以自我呼叫,這就是遞迴,使用遞迴必須注意,避免無限遞迴

異常捕獲:try:乙個try塊標識了乙個將被啟用的特定的異常的**塊,後可跟乙個或多個catch塊

catch:程式通過異常處理程式捕獲異常

finally:finally塊用於執行給定的語句,不管異常是否丟擲都會執行

函式 靜態引數

1 set集合的特點 去重,無序,可巢狀。2 函式 def,引數,名字,函式體,返回值。3 如果是定義函式,則函式體是不會執行的,只有在呼叫的時候才會執行。a 普通引數 嚴格按照順序,將實際引數複製給形式引數。b 預設引數 一定要放在引數列的最後 即普通引數後面 注意 給預設引數傳參,會被覆蓋掉 例...

C 靜態方法 命名引數 預設引數 方法的過載

static關鍵字可以修飾類 方法 成員變數,修飾後即靜態類 方法 字段 c 中靜態方法呼叫可通過 類名.方法 來呼叫,類名.欄位 public class a 靜態屬性 定義乙個靜態方法 public static void getname class program 靜態成員被呼叫記憶體中,只要...

php不定引數方法(函式)和可選引數方法(函式)

寫 的時候經常會用到方法,而且往往還是帶有引數的方法,這些對我們來說都不陌生,然而有時候需要使用的方法引數的個數不確定,這樣我們就需要改變一下寫法了,如下 function uncertainparam var export args parm fir name parm sec uncertain...