為什麼要在方法的傳入引數中加入final關鍵詞修飾

2021-08-21 13:35:38 字數 766 閱讀 1258

唯一且準確的是,防止在方法的內部被修改呼叫

舉個例子:

int i=100;

int j=10;

i = 11;

j = 22;

int    add(int i  ,  intj){

return  i+j;

在這裡我們可以看到在呼叫方法之前我們已經宣告了i,j的值,無論是否在入參時設定final,傳入的引數都不會是最初時的100、10。

另乙個例子:

person person = new person("jack");

void showname(person person){

system.out.println(person.getname());

如果我此時在方法中做出更改

void showname(person person){

person = new person("rose");

system.out.println(person.getname());

那麼此時我輸出的就會變成rose,而非原來的jack。

但是,當我們用final修飾時

void showname(final person person){

person = new person("rose");    -------->非法,編譯報錯

system.out.println(person.getname());

我們的person是無法new出來的,也就保護了方法的安全性(可能會無意造成重大錯誤)。

VS中加入元件的方法

在vc6.0中可以通過 project add to project components and controls 匯入activex控制項,可在vs2005中怎麼都沒找到該功能?可是在vs2005以及vs2010中怎麼匯入的?選擇相機元件,這是新增了類,然後在對話方塊新增控制項,直接在對話方塊模...

html中加入虛線的方法

html裡新增虛線 border border width border style border color 取值 該屬性是復合屬性。請參閱各引數對應的屬性。預設值為 medium none border color 的預設值將採用文字顏色 說明 設定物件的邊框樣式 當你指定了邊框顏色 borde...

泛型 為什麼要在方法前寫

public class test public void sett t name public void sett2 t name public t gett2 t name public t gett3 t name public static void main string args pub...