static是作为java语法中重要的一个关键字存在的。
1,static修饰变量
static用来在类中用来修饰变量,其修饰的变量属于类变量,不属于实例变量。
类变量,在方法区加载类时候,以及在静态常量池中声明完毕。使用该变量可以直接使用类名.变量使用。
2,static修饰方法
static可以用来修饰方法,和静态变量一样都是在类加载时声明完成。
staitc修饰的静态方法,是不能调用关于实例的变量以及方法,例如关于this的一系列操作,以及非静态变量,非静态方法。
3,static代码块
使用方法,在类中使用类似以下格式的块
static{
}
static代码块也就是静态代码块,其在类加载时候开始执行,也就是说在方法入栈之前,静态代码块的内容已经先执行过了。
并且由于类加载只在程序中执行一次,所以static只会执行一次,与后面定义对象无关
4,附加
注意:在方法中是无法定义静态变量的,原因是方法涉及到,出栈入栈,其生命周期是有限的,而静态变量是储存在方法区的静态代码块,他的生命周期是程序开始到结束。所以java规定不能在方法中定义static变量