黑马程序员技术交流社区

标题: 静态修饰的成员变量和成员方法随着类的消失而消失吗? [打印本页]

作者: 生牛排    时间: 2016-7-26 21:58
标题: 静态修饰的成员变量和成员方法随着类的消失而消失吗?
为什么是类而不是随着对象的回收而消失
作者: itismyhao    时间: 2016-7-26 23:05
因为被静态修饰的,与对象无关
随着类的加载而加载.
作者: Baymax的悲伤    时间: 2016-7-26 23:20
类里的静态非私有变量或者方法,可以直接用类名调用,不需要创建对象,所以,它是由类的加载就存在的.如果一个类中所有方法都是静态的,那么私有他的构造方法.
作者: 纸牌屋    时间: 2016-7-26 23:22
静态优先于对象产生,而且静态修饰的东西存在于方法区中。
作者: 李铮    时间: 2016-7-26 23:25
一遇见理论瞬间就懵逼了
作者: 黑马YJM    时间: 2016-7-26 23:27
被static修饰的成员变量和成员方法,   随着类的加载而存在  优先于对象存在,
作者: 刘文秀    时间: 2016-7-26 23:31
因为对象在栈内存中,而成员变量和成员方法在堆内存中,方法运行完毕弹栈时对象也跟这作废了,而堆内存中的成员变量和成员方法却还存在,以备下一个方法调用。
作者: WatingU    时间: 2016-7-26 23:34
来学习下赞一个
作者: 牧风    时间: 2016-7-26 23:45
静态的东西在方法区。方法区的作用类似你在运行程序前,要吧程序展开的地方。类进来了就把类展开看,但是这时对象还没加载。对象消失了,其他成员有可能继续访问静态成员,所以不能随着类的消失而消失对吧
作者: qetu001212    时间: 2016-7-26 23:49
因为静态修饰的变量会存储在类中的静态区,而不是存储在对象的内存中
作者: HeiMa2Wangkunpe    时间: 2016-7-26 23:57
因为 静态的成员 属于类成员,随着类的加载而加载,注意,这个时候对象还没创建出来,与对象无关,这就是为什么静态的成员可以直接用类名调用   懂了吧兄弟




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