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

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

變量要搗鼓清!

2019-11-11 07:26:24
字體:
來源:轉載
供稿:網友

前言

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

內容

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

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

       先說明一下:修改密碼,先是把兩個相同的密碼從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; } }

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

總結

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 嘉峪关市| 临西县| 西安市| 凤山市| 阳曲县| 大田县| 乌拉特前旗| 阜新市| 万载县| 蕲春县| 广西| 招远市| 吉安市| 策勒县| 公安县| 绍兴市| 丽水市| 通榆县| 甘南县| 昆明市| 贵州省| 衡南县| 都匀市| 临邑县| 北辰区| 连平县| 新晃| 墨竹工卡县| 繁峙县| 宣城市| 达日县| 武冈市| 普安县| 桃江县| 天镇县| 赣州市| 东山县| 江安县| 武陟县| 临城县| 义马市|