class类 - static
不需要实例化类,即可直接通过该类来调用的方法,即称之为“静态方法”。将类中的方法设为静态方法也很简单,在方法前加上static关键字即可。这样该方法就不会被实例继承!
class Box{
static a(){
return "我是Box类中的,实例方法,无须实例化,可直接调用!"
}
}
//通过类名直接调用
console.log(Box.a());//我是Box类中的,实例方法,无须实例化,可直接调用!
上面的代码一,类Box的a方法前有static关键字, 表明该方法是一个静态方法, 可以直接在Box类上调用。静态方法只能在静态方法中调用,不能在实例方法中调用。
class Box{
static a(){
return "我只允许被静态方法调用哦!"
}
static b(){
//通过静态方法b来调用静态方法a
console.log(this.a());
}
}
Box.b();//输出:我只允许被静态方法调用 哦
通过实例方法来调静态方法会报错:
class Box{
static a(){
return "我只允许被静态方法调用哦!"
}
b(){
console.log(this.a());//TypeError: this.a is not a function
}
}
var obj=new Box();
obj.b();
父类的静态方法, 可以被子类继承:
class Box {
static a() {//父类Box的静态方法
return '我是父类的静态方法a';
}
}
class Desk extends Box {}
//子类Desk可以直接调用父类的静态方法a
console.log(Desk.a());
倘若想通过子类的静态方法调用父类的静态方法,需要从super对象上调用:
class Box {
static a() {
return '我是通过super来调取出来的';
}
}
class Desk extends Box {
static a(){
return super.a();
}
}
console.log(Desk.a());
静态属性
静态属性指的是 Class 本身的属性, 即Class.propname, 而不是定义在实例对象( this) 上的属性。
class Box{
constructor(){
this.name="实例属性"
}
}
Box.prop1="静态属性1";
Box.prop2="静态属性2";
console.log(Box.prop1,Box.prop2);//静态属性1 静态属性2
class类 - static的更多相关文章
- 遇到一个很古怪的问题,C++类static const成员的初始化
在我的文件里有这class NFDuration, NFDuration.h里是这样的: // A Duration represents the elapsed time between two i ...
- java 工具类 static
http://wenwen.sogou.com/z/q526955586.htm 工具类其实就是提供了一些公共的函数,方便其他类去调用,函数都写成static一方面是因为方便,另一方面是工具类的函数是 ...
- 静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同?
Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化.而通常的内部类需要在外部类实例化后才能实例化,其语法看起来挺诡异的,如下所示. /** ...
- 静态嵌套类(Static Nested Class)和内部类(Inner Class) 的不同?
Static Nested Class 是被声明为静态(static)的内部类,它可以不依赖于外部类 实例被实例化.而通常的内部类需要在外部类实例化后才能实例化,其语法看起 来挺诡异的,如下所示. / ...
- c++类static成员
转自:http://blog.csdn.net/heyabo/article/details/8681516 参考文献:1.http://www.yesky.com/20010828/194000.s ...
- C++类const和static成员初始化
class A{ private: int a; //变量,属于对象任何地方初始化即可 ; //常量,属于对象,声明的时候初始化.在构造函数初始化列表初始化,最后取初始化列表的值 static int ...
- 01 语言基础+高级:1-3 常用API第一部分_day08【String类、static、Arrays类、Math类】
day08[String类.static.Arrays类.Math类] String类static关键字Arrays类Math类 教学目标能够使用String类的构造方法创建字符串对象能够明确Stri ...
- Android 学习第16课,java 包、类等相关的一些基础知识
1.建议将类放在包中,不要使用无名包 2.建议包名都用小写单词组成,不要用大写 3.建议包名用“域名的倒写.项目名.模块名”的形式,以确保包名的唯一性 注意:类变量与实例变量.类方法与实例方法的区别 ...
- static关键字总结
static,即静态声明.它在 作用域.存储方式.生命周期 等各方面影响一个变量或函数.文章将从 局部变量.全局变量.普通函数.类的static成员(包括数据成员与成员函数)来总结static. ...
随机推荐
- Django路由分组
通过上次的学习,我们已经对Django有了简单的了解,现在来深入了解下~ 1. 路由系统 1.1 单一路由对应 a. urls url(r'^login/', views.login), # log ...
- 007-多线程-JUC集合-Queue-BlockingQueue接口以及ArrayBlockingQueue
0.BlockingQueue接口介绍 BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题.通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利 ...
- 123457123456#0#-----com.threeapp.ErTongPaint01-----儿童宝宝绘画涂鸦游戏02
com.threeapp.ErTongPaint01-----儿童宝宝绘画涂鸦游戏02
- thymeleaf中double/float格式化,四舍五入显示两位小数
private Float balance; 代码: <span class="A124_balance_num" th:text="${#numbers.form ...
- (十)java虚拟机性能监控工具
一. jps(Java Virtual Machine Process Status Tool) jps主要用来输出JVM中运行的进程状态信息.语法格式如下: 命令行参数选项说明如下: 1.1 案例 ...
- laravel php门面模式
门面模式 理解3个概念: 1)Container的概念,laravel所有的服务都注册在container里面,至于如何注册,就是使用service provider 2)service pr ...
- iOS-MPMoviePlayerViewController使用
其实MPMoviePlayerController如果不作为嵌入视频来播放(例如在新闻中嵌入一个视频),通常在播放时都是占满一个屏幕的,特别是在 iPhone.iTouch上.因此从iOS3.2以后苹 ...
- python多进程实例详解
写在前面:python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程.Python提供了非常好用的多进程包multiprocessing ...
- Java实现回形数,只利用数组、循环和if-else语句
import java.util.Scanner; public class learn { public static void main(String[] args){ System.out.pr ...
- 【miscellaneous】理解Gstreamer架构
本文给出了Gstreamer的总体设计.通过阅读本文可以了解Gstreamer的内部工作原理.本文编译自gstreamer源码中的文档,原文在源码中的位置是/gstreamer/docs/design ...