由於在學校有一定基礎,學起來要比零基礎的同學輕鬆一些,但是也沒有十分樂觀,學校的課程安排的十分緊密,稍微一鬆懈就會落下,來自天南海北的戰友也不乏各種技能加持的大神,壓力也是必然存在的,卻也給了我不少的動力.大家平時相互討論,相互幫助著學習,為著同乙個高薪夢想奮鬥,也讓這份辛苦的日子變得格外的不凡!我融洽的氛圍,一同成長,希望我們幾個月後都可以是實現自己心中的期望。下面我分享一些自己在千鋒這一階段學到的知識。
關於static關鍵字的屬性
一、成員變數與區域性變數的區別:
作用域:區域性是從定義的變數,到當前作用範圍,而成員是整個類。
預設值:區域性必須先賦值,無預設值。成員會賦初值。
釋放機制:區域性使用完立即釋放。成員放置於物件,物件在堆區,隨物件的釋放而釋放。
存放位置:區域性存放在棧區,成員在堆區。
成員變數:可以在建立物件的時候被附成預設值,還可在類中直接賦值。
二、成員方法分類
1:非靜態的成員方法(不帶static關鍵字的)
2:靜態的成員方法(帶static關鍵字的)
值得注意的是,在呼叫的時候非靜態的成員方法要引用呼叫,靜態的成員方法既可以使用引用呼叫,也可以用類名直接呼叫。當成員被static修飾後,就變成了靜態的,會被放在靜態方法區區分,而靜態方法區,正如大家所知,是專門用static修飾的成員。它的特點就在於成員可以長久的儲存,存活時間跟整個程式保持一致。如this的關鍵字,表示當前物件的引用,this裡儲存的當前物件的位址,在靜態的方法中,不能使用非靜態的成員變數,在非靜態的的方法中,既可以使用靜態的,也可以使用非靜態的成員變數。總而言之,只要在方法中沒有使用非靜態的成員變數,就使用靜態的方法。而比較二者,區分就在於靜態與非靜態成員方法的比較。靜態的成員方法,比非靜態的效率高,速度快,節省記憶體。
三、static作用
static作用大致可以總結為修飾成員變數和成員方法。保值-使成員的存活時間(生命週期)與程式一致。而被static修飾的成員變數的特點也可簡單歸納為以下三點:
1.被當前類的所有物件共享。
2.隨著類的載入而載入,變數被放在靜態方法區,執行順序優先於非靜態的成員變數
3.以使用類名或引用呼叫。
此時,便可小結靜態和非靜態的區別:
1.儲存的資料的使用:非靜態只能供當前的物件使用,靜態供所有物件共享。
2.生命週期:非靜態跟物件一致,靜態跟程式一致。
3.儲存的位置:非靜態在物件中,靜態在方法區中。
4.訪問方式:非靜態引用,靜態的引用或類名
至於被static修飾的成員方法的特點,我們也可得知靜態的成員方法只能使用靜態的成員變數,非靜態的內部既可以使用靜態的,也可以使用非靜態的。
以上是近來對所學知識點的乙個小結,如有錯誤,請大家指出,會仔細修改。既然選擇程式設計師並開始自己的職業生涯,就要做好心理準備,高薪的同時就意味著高付出,現在,腳下的路崎嶇且漫長,希望自己和各位同行都夠堅定自我,走到最後,笑到最後。
this關鍵字 static關鍵字
1.當成員變數和區域性變數重名,可以用關鍵字this來區分 this 代表物件,代表那個物件呢?當前物件 this就是所在函式所屬物件的引用 簡單說 那個物件呼叫了this所在的函式,this就代表哪個物件 this也可以用於在建構函式中呼叫其他建構函式 注意 只能定義在建構函式的第一行,因為初始化...
關於static關鍵字總結
1 不能在static修飾的方法中引用this變數,只能引用一些靜態變數或方法,或new新的物件 能定義區域性變數 簡言之,靜態方法或塊中,只能引用靜態的方法或變數。2 類中的成員變數 static修飾 有預設值,而類的定義的方法中的區域性變數沒有預設值。3 在類的構造器中,能引用所有的靜態或非靜態...
關於static關鍵字的理解
1,想要實現物件中的共性資料的物件共享。可以將這個資料進行靜態修飾。2,被靜態修飾的成員,可以直接被類名所呼叫。也就是說,靜態的成員多了一種呼叫方式。類名.靜態方式。3,靜態隨著類的載入而載入。而且優先於物件存在。1,有些資料是物件特有的資料,是不可以被靜態修飾的。因為那樣的話,特有資料會變成物件的...