A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

为什么是类而不是随着对象的回收而消失

10 个回复

倒序浏览
因为被静态修饰的,与对象无关
随着类的加载而加载.
回复 使用道具 举报
类里的静态非私有变量或者方法,可以直接用类名调用,不需要创建对象,所以,它是由类的加载就存在的.如果一个类中所有方法都是静态的,那么私有他的构造方法.
回复 使用道具 举报
静态优先于对象产生,而且静态修饰的东西存在于方法区中。
回复 使用道具 举报
一遇见理论瞬间就懵逼了
回复 使用道具 举报
被static修饰的成员变量和成员方法,   随着类的加载而存在  优先于对象存在,
回复 使用道具 举报
因为对象在栈内存中,而成员变量和成员方法在堆内存中,方法运行完毕弹栈时对象也跟这作废了,而堆内存中的成员变量和成员方法却还存在,以备下一个方法调用。
回复 使用道具 举报
来学习下赞一个
回复 使用道具 举报
牧风 中级黑马 2016-7-26 23:45:19
9#
静态的东西在方法区。方法区的作用类似你在运行程序前,要吧程序展开的地方。类进来了就把类展开看,但是这时对象还没加载。对象消失了,其他成员有可能继续访问静态成员,所以不能随着类的消失而消失对吧
回复 使用道具 举报
因为静态修饰的变量会存储在类中的静态区,而不是存储在对象的内存中
回复 使用道具 举报
因为 静态的成员 属于类成员,随着类的加载而加载,注意,这个时候对象还没创建出来,与对象无关,这就是为什么静态的成员可以直接用类名调用   懂了吧兄弟
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马