黑马程序员技术交流社区

标题: 静态变量和实例变量的区别? [打印本页]

作者: 张强+    时间: 2011-11-9 23:18
标题: 静态变量和实例变量的区别?
静态变量和实例变量的区别?
作者: 胡文杰    时间: 2011-11-9 23:26
静态变量随着类的加载而加载,随着类的消失而消失,存储在方法区,实例对象,变量则是在new 类的时候也就是初始化时被创建,存储在堆内存中。静态变量或函数优先于对象的存在!也就是在一个类被加载的时候,静态变量或函数已经被存储在方法区,而实例对象变量则是再new类的时候被创建!
作者: 黄喆    时间: 2011-11-9 23:29
静态变量属于整个类,存在于内存中的方法区,随着类被加载而加载,可以直接通过类名来调用  类名.变量名;
事例变量属于某个对象的属性,必须创建对象,才在内存中分配空间,必须通过这个对象来调用
作者: 高双武    时间: 2011-11-10 08:09
声明上:静态变量需要加上static修饰符
生命周期:静态变量随着类的加载而加载,随着类的消失而消失,实例变量随着对象的创建而创建
存储区域:静态变量存储在方法区或共享区,实例变量存储在堆内存中
应用上:当对象中的某个属性值都一样时,则可以声明 为静态的,这样节约内存消耗,不足是生命周期长
调用:静态变量比实例变量多了一种调用方法,即  类名.属性   也就是说我们在不创建对象的情况下就可以调用静态变量,是实例变量必须创建对象才能调用
作者: せR3n、何必装纯    时间: 2011-11-10 13:59
静态变量和实例变量都可以用一个具体实例加.来引用。如  a.x;  静态变量还可以直接用类名加.进行引用 如 ClassName.x。静态变量和实例变量最大的区别是静态变量在内存中只有一份,所以该类的所有实例共享该变量;而实例变量随实例的不同可以不相同。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2