总结于为学员static关键词教程 http://www.weixueyuan.net/view/6003.html
static关键词
static变量
static 修饰的变量我们称之为静态变量,没有用 static 修饰的变量称之为实例变量,他们两者的区别是:
静态变量是随着类加载时被完成初始化的,它在内存中仅有一个,且 JVM 也只会为它分配一次内存,同时类所有的实例都共享静态变量,类似全局变量,可以直接通过类名来访问它。
但是实例变量则不同,它是伴随着实例的,每创建一个实例就会产生一个实例变量,它与该实例同生共死。
static方法
static 修饰的方法我们称之为静态方法,我们可以通过类名对其进行直接调用。由于他在类加载的时候就存在了,它不依赖于任何实例, 不能在静态方法中访问实例变量,只能访问自身类的静态变量。
public class test {
private static int i;
public test(){
i = 0;
}
static void Test(){
i = i + 10;
System.out.println("i is: " + i);
}
public static void main(String[] args){
test t1 = new test();
test t2 = new test();
t1.Test();
test.Test();
}
}
i is: 10
i is: 20
我们可以看到, 引用test()静态方法时候要用类名test进行调用, 而用引用t1是无法调用的
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。