static关键字
*凡是在静态方法中使用static都是静态方法,在声明变量时,使用static,都是静态变量。
静态变量与成员变量的区别:(这里指的变量均是全局变量)
静态变量属于全局变量,不管是静态方法还是非静态方法都可以使用静态变量。
成员变量:成员变量只能被非静态方法使用。
public class People{
static String name;
public void text1(){
name="aa";
}
public void text2(){
name="bb";
}
}
静态方法和实例方法
静态方法能被非静态方法调用同时也能被静态方法调用
非静态方法只能被非静态方法调用
public class JavaStatic {
public static void test1(){
}
public void test2(){
this.test3();
JavaStatic.test1();
}
public void test3(){
}
public static void main(String[] args) {
JavaStatic.test1();
}
}
注释:在静态方法中不能使用this super关键字
补充:应用场景:不想创建类的对象,而是直接访问类的属性或方法
Java中,成员变量、普通方法(不是构造方法) 和内部类时,可以使用static修饰符()
如果访问权限允许,可不必创建该类对象而直接用类名"."调用static属性或方法
static成员也称类成员或静态成员 eg: 类属性 、 类方法 、 静态属性 、 静态方法
语句块:
java的语句块分为:静态语句块,实例语句块 ,位于类的内部,方法的外部
static语句块在其所属的类被加载时执行一次,实例语句块每次创建对象,都会执行
static可以用来初始化类属性,实例化语块可以用来初始化实例属性
static语句块先于实例语句块,二者都先于构造方法执行