static关键字

转载

http://www.cnblogs.com/dolphin0520/p/3799052.html

总结:

  1. static方法和static变量

静态方法在类加载的时候被初始化,内存中只有一个副本,可以直接通过类名进行访问(不依赖任何对象就可以进行访问)。而非静态变量和方法都是创建对象的时候才初始化。而且非静态变量在不同对象中有不同副本,且独立互不影响。因此,一般静态方法加载时还不存在非静态变量或者方法,故静态方法中不能调用非静态成员变量或者非静态方法。而非静态方法中可以调用静态变量或者静态方法(因为它一直在内存里)。Static不能修饰局部变量!

static成员变量的初始化顺序按照定义的顺序进行初始化。

  1. static代码块

static关键字还有一个比较关键的作用就是 用来形成静态代码块以优化程序性能。static块可以置于类中的任何地方,类中可以有多个static块。在类初次被加载的时候,会按照static块的顺序来执行每个static块,并且只会执行一次。

posted on 2017-09-02 17:03  明月Moon  阅读(89)  评论(0)    收藏  举报

导航