static关键字
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了static关键字相关的知识,希望对你有一定的参考价值。
转载
http://www.cnblogs.com/dolphin0520/p/3799052.html
总结:
- static方法和static变量
静态方法在类加载的时候被初始化,内存中只有一个副本,可以直接通过类名进行访问(不依赖任何对象就可以进行访问)。而非静态变量和方法都是创建对象的时候才初始化。而且非静态变量在不同对象中有不同副本,且独立互不影响。因此,一般静态方法加载时还不存在非静态变量或者方法,故静态方法中不能调用非静态成员变量或者非静态方法。而非静态方法中可以调用静态变量或者静态方法(因为它一直在内存里)。Static不能修饰局部变量!
static成员变量的初始化顺序按照定义的顺序进行初始化。
- static代码块
static关键字还有一个比较关键的作用就是 用来形成静态代码块以优化程序性能。static块可以置于类中的任何地方,类中可以有多个static块。在类初次被加载的时候,会按照static块的顺序来执行每个static块,并且只会执行一次。
以上是关于static关键字的主要内容,如果未能解决你的问题,请参考以下文章