Java Static关键字
静态修饰符
1、程序中变量、代码是在编译时由系统自动分配内存来存储的,而静态就是指在编译后所分配的内存会一直存在,直到程序退出内存才会释放这个空间,也就是只要程序在运行,那么这块内存就会一直存在,不用new实例化。
2、该类所有的对象都公用这一个static变量,即共用一个内存空间。
举两个例子分别说明这上述两个问题:
例1
输出 Hello Worldpublic class testStatic { public static void A() { System.out.println("Hello World!"); } public static void main(String[] args) { testStatic.A();//类名+.直接调用不用new了 } }
例2
static类型的变量是属于类的. 当这个类一个对象改变static类型变量的值,其他对象的这个值也会跟着一起改变.例如class A{ public static int cunt = 0; } public class Test{ public static void main(String[] args){0020 A a1 = new A(); A a2 = new A(); a1.cunt = 100;//a1对象把cunt改变成100 System.out.println(a2.cunt);// 输出对象a2的cunt值也为100 } }