static关键字,它用于修饰类的成员,如成员变量、 成员方法、 以及代码块等。。
有时候我们希望某些特定的数据在内存中只有一份,而且能够被一个类的所有实例对象所共享。
一、静态变量
用static修饰的成员变量(static不可修饰局部变量)被所有实例共享, 可以直接使用“ 类名.变量名”的形式来访问此变量。
二、静态方法
和静态变量相同, 可以直接使用“ 类名.方法名”的形式来访问此方法。(静态内部类和成员内部类的实例化方法是不一样的。)
Outer.Inner inner = new Outer().new Inner();
inner.show(); (成员内部类)
Outer.Inner inner = new Outer.Inner();
inner.show(); (静态内部类)
三、静态代码块
当类被加载时, 静态代码块就会被执行, 由于类只执行一次,因此静态代码块只执行一次。 在程序中,通常会使用静态代码块来对类成员的成员变量进行初始化。