蜜桃欧美|戒汤唯未删减版|先锋影音av资源在线观看|国产精品裸体一区二区三区,这么多年电影完整版免费在线观看,卧底2020电视剧免费全集在线观看,美好事物电影完整版在线观看

主營業(yè)務(wù):網(wǎng)站制作 網(wǎng)站優(yōu)化 小程序制作 石家莊網(wǎng)站制作網(wǎng)站建設(shè)有限公司歡迎您!
石家莊閃云網(wǎng)絡(luò)科技有限公司
客服熱線15383239821
如何讓自己的網(wǎng)站更有質(zhì)量?

C# Static

發(fā)布時間:2010/9/3 16:04:44
有時候?qū)懗绦驎r常常遇到這樣的情況:

 
1、定義了變量和方法不知道什么時候該加上static修飾符。
2、static變量和方法與非static變量和方法有什么區(qū)別?
3、在一個類的靜態(tài)方法里為什么不能訪問該類的非靜態(tài)成員變量和方法?
4、在一個類的非靜態(tài)方法中為什么可以訪問該類的靜態(tài)變量和方法?
5、在靜態(tài)方法中為什么不能用this?
6、靜態(tài)構(gòu)造函數(shù)有什么作用?

 
基于以上問題,我發(fā)表自己的看法如下:

 
1、static變量及方法不用實例化對象就可以用類名.靜態(tài)變量和類名.靜態(tài)方法這種方式進(jìn)行訪問,這使得訪問更加方便,不用手工實例化對象。對于某些只讀變量和方法來說很適合共享。
2、static與非static最大的區(qū)別就是static類型的變量及方法在調(diào)用的時候就在內(nèi)存中分配了地址,且這個地址只有一份,故static可以直接訪問。而非static必需手工去實例化該類,以對象的方式去訪問變量和方法。
3、在一個靜態(tài)方法里去訪問該類的非靜態(tài)變量或方法,由于static是屬于類本身的,是在類被調(diào)用的時候,static類型就已經(jīng)生成,而非 static此時并沒有生成,它不屬于這個類本身,它是屬于這個類的對象。故在沒有實例化成對象的時候,在靜態(tài)方法中訪問非靜態(tài)是根本找不到它們的,它不屬于這個類。
4、在非靜態(tài)方法中去訪問靜態(tài),由于類被調(diào)用時,靜態(tài)變量和方法就已經(jīng)生成,也就是說它們屬于這個類。既然已經(jīng)存在,故不管是在靜態(tài)方法中,還是非靜態(tài)方法中都可以訪問到它們。
5、this表明對象本身,而在靜態(tài)方法中并沒有對象概念存在,它只有類本身這個概念,它和對象是屬于兩種互拆的狀態(tài),即我中無你,你中無我的情況。也就是說你用對象名.靜態(tài)變量或?qū)ο竺?靜態(tài)方法是不可訪問的。
6、每個類都必須有構(gòu)造函數(shù),否則此類無法實例化成對象。而我們有時定義的類可以不寫它的構(gòu)造函數(shù),這是因為編譯器會幫我們加上一個靜態(tài)的空構(gòu)造函數(shù)。這樣才能實例化。也可以用靜態(tài)構(gòu)造函數(shù)去初始化靜態(tài)變量。
上一篇: .Net驗證控件2

相關(guān)新聞推薦

在線客服 : 服務(wù)熱線:15383239821 電子郵箱: 27535611@qq.com

公司地址:石家莊市新華區(qū)九中街江西大廈4062

備案號:冀ICP備2022000585號-4