iT邦幫忙

2021 iThome 鐵人賽

DAY 11
0
自我挑戰組

日常任務成長紀錄系列 第 11

到底是什麼意思?static 靜態方法

  • 分享至 

  • xImage
  •  

記得第一份工作時候,有個同事一直在那邊嚷嚷靜態方法比非靜態效率高,偶而喊喊抽象化思考很重要,我當時心裡就是一頭霧水,然後覺得崩潰,怎麼這個世界有這麼多無法理解的命名.

最近看到同事在一個method前標註了 static 表示這個function 為靜態方法,剛好掀起我的回憶和興趣,所幸查詢了一下,現在終於看得懂一些了,一下紀錄我的理解

  1. 靜態方法是什麼意思?

    我其實沒有查到為什麼叫做靜態,不過自己的理解靜態可以表示儲存在記憶體的時間,有個固定的意味,意思是當載入程式時,會主動配給記憶體給靜態方式,後續無論如何實例都會在固定的記憶體位置.

    至於 static 就是一個標示符號,註記這個method 為靜態

  2. 靜態方法有什麼特性?
    只能透過類別Class呼叫,不可透過實例化類別的實例呼叫

  3. 靜態方法跟非靜態的差異?

    1. 生命週期:靜態方式載入程式即配給記憶體中,不會被清除,除非關閉程式,非靜態當不被參考時,就會被釋放
    2. 效率:靜態方法效率較非靜態高
    3. 所有權:靜態方法屬於類別,非靜態方法屬於類別的實例

https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Classes/static

https://www.njarts.cn/a_keji/202106/211084.html

https://ithelp.ithome.com.tw/articles/10242580


上一篇
要上傳檔案,你需要知道的事-stream binary
下一篇
到底是什麼意思?Typescript Partial<Type>
系列文
日常任務成長紀錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言