参考资料

类(class)通过 static 关键字定义静态方法。不能在类的实例上调用静态方法,而应该通过类本身调用。这些通常是实用程序方法,例如创建或克隆对象的功能。

class ClassWithStaticMethod {static staticMethod() {return 'static method has been called.';}
}console.log(ClassWithStaticMethod.staticMethod());
// expected output: "static method has been called."let a = new ClassWithStaticMethod();a.staticMethod() // 报错

在一个静态方法中调用同一个类中的其他静态方法,可以使用this关键字。

class StaticMethodCall {static staticMethod() {return 'Static method has been called';}static anotherStaticMethod() {return this.staticMethod() + ' from another static method';}
}
StaticMethodCall.staticMethod();
// 'Static method has been called'StaticMethodCall.anotherStaticMethod();
// 'Static method has been called from another static method'

非静态方法中,不能直接使用 this 关键字来访问静态方法。而是要用类名来调用:CLASSNAME.STATIC_METHOD_NAME(),或者用构造函数的属性来调用该方法: this.constructor.STATIC_METHOD_NAME()

class StaticMethodCall {constructor() {console.log(StaticMethodCall.staticMethod());// 'static method has been called.'console.log(this.constructor.staticMethod());// 'static method has been called.'}static staticMethod() {return 'static method has been called.';}
}

静态方法不能被实例继承,但可以被子类继承


class Foo {static classMethod() {return 'hello';}
}
Foo.classMethod() // 'hello'// static方法不能被实例继承
var foo = new Foo();
foo.classMethod()
// TypeError: foo.classMethod is not a function// static方法可以被子类继承
class Bar extends Foo {}
Bar.classMethod(); // 'hello'

class中的static相关推荐

  1. 浅谈C/C++中的static和extern关键字

    一.C语言中的static关键字 在C语言中,static可以用来修饰局部变量,全局变量以及函数.在不同的情况下static的作用不尽相同. (1)修饰局部变量 一般情况下,对于局部变量是存放在栈区的 ...

  2. 面试季,Java中的static关键字解析

    点击上方"方志朋",选择"置顶或者星标" 你的关注意义重大! static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面 ...

  3. c++语言static作用,详解c++中的 static 关键字及作用

    注:若没有特指是 静态成员时,默认都是普通成员: 1 类中的普通成员 类中的成员变量 和 成员函数 是分开存储的.其中, 1)每个对象都有独立的成员变量:成员变量可以存储在 栈空间.堆空间.全局数据区 ...

  4. php static 和 global,php中global static和$GLOBALS使用与区别

    本文章来总结介绍关于php中global static和$GLOBALS使用与区别有需要了解他们三区别的朋友可参考参考. 1.global在整个页面起作用. 例1  代码如下 复制代码 global ...

  5. Java中的static关键字详解

    ** Java中的static关键字详解 ** 在一个类中定义一个方法为static,即静态的,那就是说无需本类的对象就可以调用此方法.调用一个静态方法就是 "类名.方法名" ,静 ...

  6. C++中的static关键字的总结

    C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static.前者应用于普通变量和函数,不涉及类:后者主要说明static在类中的作用. 1.面向过程设计中的st ...

  7. Java中的static关键字解析 转载

    原文链接:http://www.cnblogs.com/dolphin0520/p/3799052.html Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到 ...

  8. C语言中:在头文件中使用static定义变量意味着什么?

    C语言中:在头文件中使用static定义变量意味着什么? 看到有一位同学在头文件中这么写: static const wchar_t* g_str1 = - static const wchar_t* ...

  9. simpledateformat 毫秒_阿里巴巴 | 为啥代码中禁用static修饰SimpleDateFormat?

    来自:8rr.co/4KkS 在项目开发过程中经常遇到时间处理,但是你真的用对了吗,理解阿里巴巴开发手册中禁用static修饰SimpleDateFormat吗? 通过阅读本篇文章你将了解到: 为什么 ...

  10. php静态方法场景,深入介绍PHP中的static的修饰方法和yield的使用场景

    相信PHP程序员对于生成器并不陌生,但是也有很多人并不知道生成器这个功能,因为它是后期才能大家熟知的,下文是爱站技术频道小编带给大家的深入介绍PHP中的static的修饰方法和yield的使用场景,一 ...

最新文章

  1. R语言dplyr包使用bind_rows函数纵向合并两个dataframe(行生长)、使用bind_cols函数横向合并两个dataframe(列生长)
  2. 应用下载店用户喜好分析
  3. 使用secureCRT连接VMware-Ubuntukylin虚拟机
  4. java 网络编程 博客园_java网络编程
  5. 机器学习(三)——朴素贝叶斯方法、SVM(1)
  6. 巨坑!这公司的行为,挺适合清明节!
  7. POSIX定时器Timer
  8. 解决虚拟机VMware运行Ubuntu时无法和主机之间复制粘贴的问题
  9. commons,jsoup,htmlunit,jackson,nekohtml,Object,xalan,xercesImpl,beanutils,lang3,httpclient,jar包下载
  10. Python-模块导入-63
  11. 前端复习-02-ajax原生以及jq和跨域方面的应用。
  12. Android:Json数据转换成Map
  13. 区块链骇客第二讲: 自毁攻击
  14. 淘宝原数据商品详情API调用示例
  15. 解决windows下文件名太长无法删除的问题
  16. cf 467 B. Sleepy Game
  17. 蔡颖-《APS走向实践》书解读之三:供应、计划排程、供应链优化
  18. 史上最猛“员工”,疯狂吐槽亿万富翁老板小扎:那么有钱,还总穿着同样的衣服!...
  19. window.frames用法
  20. c语言设计体育打分程序,校运会成绩录入系统部分C语言源代码设计

热门文章

  1. 谱定理、瑞利熵、PCA(主成分分析)、clustering algorihtm
  2. codeforce A. Bank Robbery
  3. 服务器生成镜像文件,云服务器 生成镜像
  4. 【线程、锁】什么是AQS(锁分类:自旋锁、共享锁、独占锁、读写锁)
  5. 数据结构python版 答案,中国大学 MOOC_数据结构与算法Python版_章节测验答案
  6. oracle 建库后 多路径,oracle数据库的多路径归档
  7. vacuum freeze
  8. 时间轴_windows操作系统
  9. mysql如何查询成绩前5名_sql 语句查询 前5名后5名的成绩
  10. Libra——货币新纪元