github+hexo+butterfly搭建屬於自己的部落格
成員變數
也叫全域性變數。定義在類裡方法外的變數。
成員變數又分為例項變數和類變數
類變數也叫靜態變數,即在變數前加static 的變數;
例項變數也叫物件變數,即沒加static 的變數;
類變數是所有物件共有,其中一個物件將它值改變,其他物件得到的就是改變後的結果;
而例項變數則為物件私有,某一個物件將其值改變,不影響其他物件;
類變數:又叫靜態變數,用static修飾,它可以直接用類名呼叫,也可以用物件呼叫,而且所有物件的同一個類變數都是共享同
一塊記憶體空間的
例項變數:不用static修飾 它只能通過物件呼叫 而且所有物件的同一個例項變數是共享不同的記憶體空間的
成員變數的儲存:沒有例項化的成員變數放在棧中;例項化後的物件放在堆中,棧中放的是指向堆中物件的引用地址。
成員變數在物件被建立時而存在,當物件被GC回收時消失,生存週期適中。
static修飾的全域性變數存放於靜態區,類載入時建立,在類中只有一份; 會跟著類的消失而消失,生存時間較長。
static修飾的全域性變數,只在該原始檔中可用
區域性變數:
區域性變數就是方法裡定義的變數。只在定義它的方法內有效
僅作用在區域性區域中,從定義開始到大括號或者return結束,生命週期短。
基本資料型別變數放在棧中,引用資料型別放在堆中
區域性變數可以先定義再初始化,也可以定義的同時初始化,區域性變數沒有預設初始值。
成員變數有預設值,區域性變數沒有預設值,不會自動賦值。區域性變數在使用前必須被程式設計師主動的初始化,和此形成對比,
系統中的成員變數則會被系統提供一個預設的初始值。所以在語法上,類的成員變數能夠定義後直接使用,
而區域性變數在定義後先要賦初值,然後才能使用。
如果區域性變數和成員變數的名稱相同,那麼成員變數被隱藏,即方法內失效,方法中如需要訪問該類中的成員變數,則需要加上關鍵字this
成員方法和構造方法:
成員方法
宣告成員方法可以定義類的行為。成員方法一旦被定義,便可以在程式中多次呼叫。
[public|private|protected][static]<void|return_type><method_name>([paramList]) {
//方法體
}
[public|private|protected] //訪問型別。
<void|return_type> //返回值的資料型別
<method_name> //方法名
([paramList]) //引數表
不能省略的部分:
<void|return_type><method_name>(有參或無參) {