結構體和類的一些簡單區別

結構體和類的區別


?1.寫法區別: 結構體-struct ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?類-class

?2.類型區別: 結構體 - 值類型(棧區) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 類 - 引用類型(堆區)

?3.所有結構的成員默認都是public ? (有點問題)

? ?類的變量和常量數則默認為private,不過其他類成員默認都是public

4.結構成員不能被聲明為protected ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 類的成員可以

?5.結構是隱式繼承字Value Type類,而不能繼承任何其他類型。 ? ? ? ? 類則可以繼承自Value Type以外的任何類

?6.結構是無法被繼承 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?類可以


結構體:

結構體的默認構造不允許寫,因為系統已經給你提供了。

沒有析構函數

沒有 abstract 和 sealed(因為不能繼承)

不能有protected 修飾符

可以不使用new 初始化

在結構中初始化實例字段是錯誤的

類:

有默認的構造函數

有析構函數

可以使用 abstract 和 sealed

有protected 修飾符

必須使用new 初始化

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,766評論 18 399
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,948評論 18 139
  • 1. [C#語言基礎]請簡述拆箱和裝箱。 答: 裝箱操作: 值類型隱式轉換為object類型或由此值類型實現的任何...
    胤醚貔貅閱讀 4,893評論 1 29
  • 前言 人生苦多,快來 Kotlin ,快速學習Kotlin! 什么是Kotlin? Kotlin 是種靜態類型編程...
    任半生囂狂閱讀 26,276評論 9 118
  • 年初的時候我給自己2016的計劃之中有一項就是搞一個自己的網站,沒想到拖了半年了,一直沒有耐心好好研究一下怎么做,...
    志哥談笑間閱讀 377評論 2 1