public class StaticDemo {
private int count=0;
private static int staticCount=0;
public StaticDemo() {
System.out.println(++count);
System.out.println(++staticCount);
}
public static void main(String[] args) {
new StaticDemo();
new StaticDemo();
new StaticDemo();
}
}
结果:
1
1
1
2
1
3
非静态输出都是一样的 静态的一直在增加
Static函数
当s修饰成员函数的时候,也表示的是改函数输赢全局函数,跟一般的成员函数不同,一般成员函数是属于某个对象的,改类型实例化多少个对象,就会有多少个该副本加载到内存中;而静态函数只加载一个副本;
//测试static函数与非static函数区别
public void testNonStatic(){
this.count++;
staticCount++;
}
public static void testStatic(){
//static函数里面不存在this
//this.count++; 静态函数不能直接访问当前类型的非静态成员 (直接:就是说this.count;但是可以通过对象访问)
//例如下面的实例;
// StaticDemo s=new StaticDemo();
// s.count++;
staticCount++;
}
Static静态变量和非静态变量,布布扣,bubuko.com
原文地址:http://blog.csdn.net/u010634066/article/details/37901973