static关键字

来源:互联网 发布:papi酱靠什么挣钱知乎 编辑:程序博客网 时间:2024/06/13 18:33

面试中曾经问到过,记一下。

现在用到static关键字的情形是:我想在不创建类实例的时候,取到我想要保存的特定数据,或者调用特定的方法。具体就是直接用:类名+“.”+变量名或方法名;

static可以用来修饰类的成员变量,类的成员方法,还可以编写static代码块优化程序性能。

1.static变量

static变量又称静态变量,他和非静态变量的区别是:非静态变量只在对象被创建的时候初始化,存在多个副本,各个对象的副本之间互不影响;静态变量只在类初次加载的时候初始化,在内存中只有一个副本,被所有对象共享;

2.static方法

static方法即静态方法,它不依赖对象就能调用。因为这个特性,决定了静态方法只能调用类的静态成员变量和静态方法,而不能调用类的非静态成员变量和非静态成员方法,因为非静态成员变量和非静态成员方法都是依赖于对象的。需要注意的是,非静态成员方法能调用类的非静态和静态成员变量、成员方法;

3.static代码块

static的另一个作用是形成static代码块,以优化程序性能。static代码块可以放在类的任何地方(除了方法内部),可以有多个static代码块,在类加载的时候按static代码块的顺序加载,并且只会加载一次。

static{

···

}

0 0
原创粉丝点击