国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

變量要搗鼓清!

2019-11-14 09:18:51
字體:
來源:轉載
供稿:網友

前言

       全局變量和局部變量!知道了會特別的簡單但是就怕不知道啊,不知道就特別難了,還好我知道了。嘻嘻!

內容

       定義:        局部變量:在程序中只在特定過程或函數中可以訪問的變量。局部變量是相對于全局變量而言的。        全局變量:既可以是某對象函數創建,也可以是在本程序任何地方創建。全局變量是可以被本程序所有對象或函數引用。一個局部變量在被其它對象引用時,會是一個空值。但全局變量卻不會出現這種情況。

       解決在敲修改密碼窗體時遇到的全局變量和局部變量問題!

       先說明一下:修改密碼,先是把兩個相同的密碼從U層傳給外觀在傳給B層再再再傳最后到數據庫中把原來密碼換成新的密碼。改成功了沒有呢?給個反映的,就把“成功!”的字符串再傳回來,再顯示“成功!”。在傳回來,傳到B層出問題了。一言不合上代碼!

       這是修改密碼的B層錯誤代碼:

public class ModifyPW { Factory.Factory factory = new Factory.Factory(); string str1; public string Modify(string xinPW, string quePW) { if (xinPW == quePW) { IDAL.ImodifyDAL modify = factory.modify(); string str1 = modify.modifyPW(quePW); } else { str1 = "兩次密碼不一致!"; } return str1; } }

       看哪出問題了,仔細看幾個str1字符串變量的區別。        string str1 = modify.modifyPW(quePW);      當單步調試到這,調用D層的函數返回來的“成功”賦值給str1,此時str1是“成功”再走一步return str1;此時的str1是NULL,這是為啥啊?這兩個str1看是是一個其實一個是局部變量一個事全局變量,第一個str1在if里邊定義的對于這個函數來說是局部的,所以出了if就不能用了,而全局能用。返回的是全局的str1就當然是NULL了。

      B層正確的代碼:

public class ModifyPW { Factory.Factory factory = new Factory.Factory(); string str1; public string Modify(string xinPW, string quePW) { if (xinPW == quePW) { IDAL.ImodifyDAL modify = factory.modify(); str1 = modify.modifyPW(quePW); } else { str1 = "兩次密碼不一致!"; } return str1; } }

       這樣對于這個函數來說都是全局變量了,返回的是“成功”。

總結

       變量分為局部與全局,局部變量又可稱之為內部變量。由某對象或某個函數所創建的變量通常都是局部變量,只能被內部引用,而無法被其它對象或函數引用。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 奉新县| 沁源县| 房山区| 广汉市| 山阴县| 安福县| 小金县| 湄潭县| 贵州省| 景洪市| 庆城县| 平阳县| 英山县| 青岛市| 岐山县| 黄浦区| 炉霍县| 武山县| 茌平县| 平南县| 宁德市| 徐汇区| 葫芦岛市| 巴青县| 息烽县| 商城县| 惠来县| 安庆市| 建宁县| 调兵山市| 德钦县| 邢台县| 鄂州市| 三明市| 广宁县| 平舆县| 楚雄市| 当涂县| 苗栗县| 苗栗县| 南江县|