再談封裝數組
封裝又稱信息隱藏,指利用抽象類型把應有的數據類型及數據操做結合爲一個不可分割的實體,只保存數據對外的藉口,儘量的隱藏內部的細節函數
封裝=數據類型+數據操做spa
值類型和引用類型blog
值類型內存
在Java中,int double char float short Boolean byte long都是值類型而其餘的都是引用類型變量
在C#中,除這八種類型外,枚舉類(enum)和結構體都是值類型構造函數
類,數組,藉口是引用類型數據類型
在內存角度考慮值類型和引用類型引用
在內存中,開闢的變量只是在棧上開闢了一塊內存地址,把值也存在了棧上 ,當另外一個變量b被此變量a賦值時,b變量會在去棧上找到a的內存地址下的值而不會去新開闢地址float
引用類型
引用類型以數組爲例,若是數組a在棧上開闢了空間而且在堆上存了真實值,這個時候數組b=數組a賦值是,至關於把a的地址給了b,數組b會拿着相同的內存地址去找堆上值,結果數組a和b就是相同的值了。
當數組b=new 數組b的時候就在棧上開闢了新的內存地址在堆上也有了相應的空間來存值,這個時候數組b=數組a賦值就不會把a的值給b數組,而數組b就用了本身的值
結構體
構造函數
Class Player
{
public Player(){}
}
在一個類中,一個方法的名稱能夠和類名相同,而且能夠沒有任何返回值。
裝箱和拆箱
拆箱以前必須有裝箱過程,沒有任何的疑問!!!
值傳遞和引用傳遞
值傳遞: 值類型(不加ref) 值不會被改變 引用類型(不加ref) 值會改變
引用傳遞: (不管加不加ref)值類型仍是引用類型都會被改變