原文**:
當定義乙個final形參時,是保證這個形參的值在方法體執行中不被改變,如:
class test
public static void main(string args)
}首先從main入手.main方法中定義了int b=0,同時將b通過引數傳遞給了靜態方法 fn().也就是說靜態方法fn中得到了變數b的值.既a=0.此時方法fn中又重寫了變數a,賦予了9
如果把**改為:
class test
public static void main(string args)
}編譯器將無法通過。也就是說在方法體fn()不能改變形參a的值。將形參定義為final有什麼作用呢?
雖然在方法中對形參的修改在方法返回時無效,但是在方法內部還是有效的,加上final的話,在方法裡對這個形參的賦值語句是無法通過檢查的,避免形參被修改後影響後面的語句。
作用是防止形參a在方法中被改變了,而在方法的其他地方只希望使用原始值,如
static void fn(int a)
引用形參 指標形參的使用
引用形參 指標形參可以改變主函式內的實參值 includeusing std cin using std cout using std endl 形參其實是在把實參傳遞給子函式的時候定義了乙個新的變數,但是這個變數的值和實參相等,所以在子函式裡無論怎麼修改都不會影響到呼叫它的函式的實參的值 int ...
非引用形參VS指標形參VS引用形參
一 非引用形參 voidadd1 intv1 這是最普通的形參方式,當函式被呼叫時,呼叫拷貝建構函式,生產乙個新的例項,函式所有的修改,都是對新的例項的修改 函式退出之前,會呼叫析構函式,資源。二 指標形參 voidadd2 int p 使用指標做為函式的形參,同樣指標的值 指標的位址 不會因為 p...
主參形參的區別
一 區別 1 函式定義方式不同 形參出現在函式定義中,在整個函式體內都可以使用,離開該函式則不能使用。實參出現在主調函式中,進入被調函式後,實參變數也不能使用。2 使用原理不同 函式的形参列於函式宣告中,在函式定義的函式體內使用。當函式呼叫時,形參 任何種類的 是一類將被填充的空白或是佔位符。實參是...