1-1 静态方法

静态方法的好处就是不用生成类的实例就可以直接调用。
static方法修饰的成员不再属于某个对象,而是属于它所在的类。只需要通过其类名就可以访问,不需要再消耗资源反复创建对象。
在类第一次加载的时候,static就已经在内存中了,直到程序结束后,该内存才会释放。

  1. # 静态方法的特点
  2. 1.只能通过类名调用
  3. 2.不能再静态方法中使用普通方法
  4. 3.静态方法中this指调用静态方法的类
  5. 4.静态方法是可以被继承的
  1. class Student{
  2. static say(){
  3. console.log("hello world")
  4. }
  5. }
  6. Student.say();
  7. let s = new Student();
  8. s.say() //报错

1-2 静态方法中的this

静态方法中的this指向类。

  1. class Student{
  2. static init(){
  3. this.say();
  4. Student.say();
  5. }
  6. static say(){
  7. console.log("hello world")
  8. }
  9. }
  10. Student.init();

1-3 静态属性

  1. class Student{
  2. static class = "html5"
  3. static init(){
  4. console.log("hello world")
  5. }
  6. }
  7. console.log(Student.class)

1-4 继承

  1. class Person{
  2. static sayName(){
  3. console.log("name")
  4. }
  5. }
  6. class Teacher extends Person{
  7. }
  8. Teacher.sayName();