大神问个static问题呗
package test1;public class StaticTest {
static int i;
static int m=30;
int j;
int k=25;
/**
* 类方法即静态成员方法
*/
static{
i=10;
System.out.println("i的初始化值为:"+i);
}
/**
* 构造方法
*/
public StaticTest(){
j=20;
System.out.println("j的初始化值为:"+i);
}
/**
* 静态成员方法
*/
public static void getNum(){//?????????????????????????????????????????
System.out.println("得到的i的值为:"+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修饰的方法都称为静态方法,它都是在构造器之前运行,那为什么getNum()在对象调用的时候才运行?为什么不在执行静态块的时候运行?望不吝赐教!
[此贴子已经被作者于2017-7-21 19:50编辑过]