結構體和類的區別

來源:生活大全幫 2.97W

結構體和類的區別

1、類型不同:結構是一種值類型,而類是引用類型。值類型用於存儲數據的值,引用類型用於存儲對實際數據的引用。那麼結構體就是當成值來使用的,類則通過引用來對實際數據操作。

2、存儲不同:結構使用棧存儲,而類使用堆存儲。棧的空間相對較小。但是存儲在棧中的數據訪問效率相對較高。堆的空間相對較大。但是存儲在堆中的數據的訪問效率相對較低。

3、作用不同:類是反映現實事物的一種抽象,而結構體的作用只是一種包含了具體不同類別數據的一種包裝,結構體不具備類的繼承多態特性。

4、關鍵字不同:在類中可以使用但是在結構中限制使用的關鍵字有:abstract、sealed、protected;StaTIc關鍵字可以用在類名前面用來聲明靜態類,但是不能用在struct前面,不存在靜態結構。

5、初始化不同:類可以在聲明的時候初始化,結構不能在申明的時候初始化(不能在結構中初始化字段),否則報錯。

熱門標籤