小結一下關於靜態類的重要知識點:
1、調用靜態方法的時候只能通過類名直接來調用,不能通過對象來調用。也就是說靜態成員不需要實例化對象。
2、靜態成員在整個程序推出時才才釋放資源,所以可以在整個應用程序中用到靜態成員,它相當於在共享數據。
3、靜態類的構造函數,只會在第一次使用靜態類之前調用執行,並且只會執行一次。
4、當給一個普通類添加靜態字段後,系統會默認為該類生成一個靜態構造函數。【靜態構造函數不能有訪問修飾符,並且不能夠帶參數】
5、靜態類不能被實例化,並且不能被繼承。
6、由於靜態成員在整個程序推出時才釋放資源,所以盡量避免寫靜態字段,一般只寫靜態方法。
7、靜態類和普通類中的靜態成員
(1)靜態類:一般都用作工具類,裡面都是一些工具函數例如Math,Console,都是靜態類。 靜態類中只包括靜態成員。
(2)普通類中的靜態成員:只能通過類名來訪問,多個對象共享一個靜態成員。靜態方法中只能訪問靜態成員。
什麼時候用靜態類?
答:一般情況下,當這個類是一個工具類,裡面都是方法,為了讓用戶調用的時候方便,不需要實例化對象,可將此類直接標記為static的類,該類中只能包含靜態成員,不能包含實例成員。
什麼情況下只需在一個普通類中編寫一個靜態成員,而這個類不能標記為static?
答:當這個類需要實例化的時候或者用到多態的時候(多態是必須能被繼承的,而靜態類是不能夠被繼承的)。這時如果類中的一個成員是所有對象共享的數據,這時候可以將該類中的這個成員標記為靜態的,但是該類還是一個實例類。
8、靜態方法或者靜態變量創建後始終使用同一塊內存(靜態存儲區),而使用實例方式則會創建多個內存。
9、靜態類的繼承問題:
靜態類不能被其他類繼承。
靜態類不能繼承自其他類,只能繼承自Object類。
靜態類不能使用多態(本身就不能被繼承)
sealed:密封類,不能被繼承 或 禁止子類重寫父類的方法。
10、靜態類的本質:abstract+sealde
(1)abstract:不能被實例化
(2)sealed: 不能被繼承。
靜態類型是類的,動態是對象的
靜態類型可以由類名直接訪問
動態類型由對象訪問
基礎知識:VS IDE的使用,數據類型,枚舉,結構,繼承,多態,索引器,委托,事件 等等
數據庫:SQL Server,My SQL,Oracle
重要技術:WinForm,HTML,XML,JavaScript ,ASP.NET,Web Service,AJAX,Sliverlight,JQuery 等等
WCF不算是架構,WCF 是由微軟發展的一組數據通信的應用程序開發接口
MFC是一個相對老的架構
水平有限,敬請指教