Static静态变量和非静态变量

来源:互联网 发布:银行业大数据精准营销 编辑:程序博客网 时间:2024/05/16 02:04
Static静态变量;   不同对象共享这个变量内存空间

而非静态变量   是每个对象都有一个该变量的内存空间



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++;}





0 0
原创粉丝点击