static关键字
来源:互联网 发布:linux 设置ip地址 编辑:程序博客网 时间:2024/06/05 18:25
static:静态的意思,是一个用于修饰成员函数和成员变量的关键字。被它修饰的成员比其他成员多了一个调用方式,即可以直接被类名.静态成员调用
被静态修饰的成员可以叫静态成员,也可以叫类成员
它的特点:
1:随着类的加载而加载,同样,也会随着类的消失而消失,这也表明,它的生命周期最长。
2:它修饰的成员优先于对象存在,所以静态方法中不可以出现this,super关键字;这也对应了它可以直接被类名.静态成员调用。所以,在定义静态的函数时,里面一定不能有非静态的成员,因为静态成员出现时,还没有对象,那么非静态的成员就还没有实例化,即还没有在内存中存在。否则会出现异常。
3:被静态修饰的成员被所有对象共享。因为之所以把一个成员定义为静态,就是因为它里面的数据是所有对象的共性内容,所以把它们抽取出来,不用再在每个对象里面都存放一份,可以节约内存空间
4:可以直接被类名调用。
和实例变量的区别:
1:从存放位置来看:类变量随着类的加载而存在于方法区中,实例变量随着对象的建立存在于堆内存中
2:从生命周期来看:静态变量的生命周期最长,只要类不消失,就一直存在于方法区中,而实例变量在对象消失的时候就消失了。
静态的使用时机:
1:静态成员的使用:当数据为所有成员共享时,把这个数据定义为静态。
2:静态函数的使用:当功能内部没有访问到非静态的数据时,把函数用静态修饰。
静态的利弊:
利:把所有对象共享的数据进行单独存储,节省了内存空间,且可以直接被类名调用,不需要建立对象
弊:生命周期过长,且访问具有局限性(只能访问静态的成员变量)。
另:
静态代码块
格式:
static
{
静态代码块中的执行语句//跟静态的方法一样,里面不能访问任何非静态的成员变量
}
特点:随着类的加载而执行一次,只执行一次,且优先于主函数执行
- static关键字
- static关键字
- 关键字STATIC
- 关键字STATIC
- static关键字
- static 关键字
- static关键字
- static关键字
- static关键字
- static关键字
- static 关键字
- Static 关键字
- static关键字
- Static关键字
- static关键字
- static关键字
- static关键字
- 关键字:static
- 队列
- 1.操作系统基础概念
- iso/osi七层模型
- 5.5编写一个程序,把一个指定的值存储到一个整数中指定的几个位。它的原型如下
- 莫队算法笔记
- static关键字
- 循环队列的小例子
- 实习经验总结
- opengl3 PointSprite及在粒子系统中的使用
- 阿里云 Linux下Java Web环境搭建
- c语言复杂数据类型
- 类与友元函数
- iOS中Facebook开源动画库POP的简单使用
- K 均值算法