static静态修饰的变量和方法,会在对应类加载时就启动,为其分配内存空间,也就是说不论你创不创建对象,或者创建任意对象,被static修饰的变量和方法都是这个类所有对象共享的或者直接类名.XXX调用。通俗点讲,就是你要用这个变量或方法,我也要用同一个变量或方法,就用static修饰。
使用举例:例如
public class Demo {
public void main(String[] args) {
System.out.println(Test.num); //直接类名.变量名就可以调用
Test t1=new Test();
t1.num+=10; //num=20
System.out.println(t1.num);
Test t2=new Test();
t2.num+=10; //这个num=30;这个时候你想继续使用上面的20,要被static修饰,所有对象共享 ,如果不用static修饰num=20,因为不共享了,等于重新定义了一个num,只为定义的对象使用.
System.out.println(t2.num);
}
}
class Test {
public static int num=10;
} |