Java中static修饰符

时间:2022-02-22 21:05:08

public class StaticTest {
static int i ;
static int m=30;
int j ;
int k=25;
static{
i=10;
System.out.println("static修饰的类属性i值是"+i);
}
public StaticTest(){
System.out.println("无参构造的i值为"+i);
}
public static void getNum(){
System.out.println("static修饰的类方法"+i);
}
public static void main(String[] args) {
StaticTest st = new StaticTest();
System.out.println("i的值为"+StaticTest.i);
st.getNum();
System.out.println("m值为"+st.m);
System.out.println("k的值为"+st.k);
}
}

 

static修饰的类属性i值是10
无参构造的i值为10
i的值为10
static修饰的类方法10
m值为30
k的值为25

 

通常不static修饰的变量和方法称为类属性和类方法(static修饰的类,所有对象公用一个static变量),不用static修饰的属性和方法属于单个对象,称为实例属性和实例方法

 

启动会先静态变量(static修饰的)的分配,在走构造方法