1. 程式人生 > 其它 >Educational Codeforces Round 123 (Rated for Div. 2) A~E 題解

Educational Codeforces Round 123 (Rated for Div. 2) A~E 題解

成員變數

也叫全域性變數。定義在類裡方法外的變數。

成員變數又分為例項變數和類變數

類變數也叫靜態變數,即在變數前加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>(有參或無參) {