1. 程式人生 > >C# 面向對象3 靜態和非靜態的區別

C# 面向對象3 靜態和非靜態的區別

一個 允許 如果 class 共享 靜態函數 區別 回收 body

靜態和非靜態的區別

1.在非靜態類中,既可以有實例成員(非靜態成員),也可以有靜態成員.

2.在調用實例成員的時候,需要使用對象名.實例成員;

在調用靜態成員的時候,需要使用類名.靜態成員名;

總結:靜態成員必須使用類名去調用,而實例成員使用對象名去調用.

靜態函數中,只能訪問靜態成員,不允許訪問實例成員.

實例函數中,既可以使用靜態成員,也可以使用實例成員.

靜態類中只允許有靜態成員,不允許出現實例成員.

靜態類不需要實例化對象來調用,只需要類名來調用.

使用:

1.如果你想要你的類當做一個"工具類"去使用,這個時候可以考慮將類寫成靜態的類.

2.靜態類在整個項目中資源共享.

****只有在程序全部結束之後,靜態類才會釋放資源.

**靜態類是占內存的,-->靜態存儲區域

內存:1.堆;2.棧;3.靜態存儲區域

**釋放資源

GC-Garbage Collection 垃圾回收器

C# 面向對象3 靜態和非靜態的區別