到底是什麽意思?static 静态方法

记得第一份工作时候,有个同事一直在那边嚷嚷静态方法比非静态效率高,偶而喊喊抽象化思考很重要,我当时心里就是一头雾水,然後觉得崩溃,怎麽这个世界有这麽多无法理解的命名.

最近看到同事在一个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


<<:  [DAY18]Helm棒~~

>>:  10. 人人皆可为师

Controller

对於请求的处理如果都写在路由器内那就太挤了,再 Laravel 中判定路由後都会将请求传递到控制器进...

离职倒数14天:2020年学到最多的两件事,解答了我人生最大的困惑

今年年初回顾2020年时的日记里写着,去年学到最多的两件事:一个是趁着肺炎,工作後第一次回家长住,一...

Data layer testing (3)

上一篇我们写好了 EtaResponseMapper 的 unit test。但 data laye...

Day 28 - 新鲜人第一份工作的心得与重要性

今日的内容主要着重在第一份工作的心得,另外很多人都会说第一份工作很重要所以要好好慎选,确实也是这样不...

Day27 vue.js简易照片上传功能(base64)

延续昨日 今天我们来处理一下新增帐户的照片 这是我们目前的修改帐户页面 首先先把layout做出来 ...