static:意为静态的,简单理解就是公共的。独立于实例变量之外的
1.概述:static是Java中常用的关键字,一般用于变量、方法、静态代码块、内部类上、静态导包
2.用法:
a.用于变量上表示该变量不依附于类的实例对象上,单独存在于静态内存中,通过类名.变量名即可调用,同时更改效果一直存在;
b.用于方法上,表示该方法是不依附实例对象上,及时没有实例化对象也可以通过类名.方法调用该方法,一般常见于各种工具类。
但是有几点要注意:
静态方法中只能调用静态变量或者静态方法;
不能通过任何方式调用this或者super关键字,因为this对象依附于实例对象,super依附于父类对象,父类对象不会将static变量或者方法继承给子类
c.用于静态代码块
static{
…
}
静态代码块会在类加载的时候调用一次,优先于其他变量或方法,同时也只能引用静态变量或方法;
d.静态内部类,应用场景比较少,可能在安卓中用的比较多
public class StringDEmo {
int i = 2;
static int a = 1;
static int b;
public static class innerClass{
final int z = 5;
public void out(){
System.out.println(z);
}
}
e.静态导包,就是在import后加static,导入指定包中的静态方法或静态变量。
import static java.lang.System.out;
…
out.println(“….”);
…