首页 > 代码库 > Static静态变量和非静态变量
Static静态变量和非静态变量
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++; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。