企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 1.什么时候使用静态方法 静态方法的好处就是不用生成类的实例就可以直接调用。 static方法修饰的成员不再属于某个对象,而是属于它所在的类。只需要通过其类名就可以访问,不需要再消耗资源反复创建对象。 在类第一次加载的时候,static就已经在内存中了,直到程序结束后,该内存才会释放。 如果不是static修饰的成员函数,在使用完之后就会立即被JVM回收。 什么时候使用static? 如果这个方法是作为一个工具来使用的,就声明为static,不需要new一个对象就可以使用。比如:connect DB就可以声明一个Connection()的static方法, 因为是静态的,说明connection DB不是某个对象所特有的功能,只是作为一种连接到DB的工具。 如果在一个方法前,加上`static`关键字,就表示该方法`不会被实例继承`,而是直接通过类来调用,这就称为“静态方法”。 ``` class Person{ static age = 10; } var a = new Person(); console.log(a.age) console.log(Person.age) ``` ## 2.如果在静@态方法中有this,关键字,this指的是类,不是实例 ``` class Person{ static age = 10; static say(){ this.go(); } static go(){ console.log("go") } } Person.say() //go ``` ## 3.父类的静态方法可以被子类继承。 ## 4.静态方法中定义的属性,只有类才能使用 ``` class Person{ static age = 10; static say(){ this.go(); this.app = "app" } static go(){ console.log("go") } } Person.say() var a = new Person(); console.log(a.app) //undefined console.log(Person.app) //app ```