北大青鸟

网站首页 > 常见IT技术问题 > Java开发 >

站内公告

java 程序执行中的实例变量和类变量

责任编辑:宏鹏来源:武汉北大青鸟鲁广校区时间:2012-11-28 08:50:11
导读:java 程序执行中的实例变量和类变量。

当JAVA程序执行时,类的字节码文件就被加载到内存,如果该类没有创建对象,类的实例成员变量不会被分配内存,但是类中的类变量在类被加载到内存的时候,就分配了相应的内存空间。如果该类创建对象,那么不同的实例变量互不相同,即分配不同的内存空间,而类变量不再重新分配,所有的对象共享类变量,即所有的对象的类变量是相同的一处内存空间,类变量的内空空间至于什么时候释放内存空间,这是大家想知道的,那么我告诉大家,类变量的内存空间直到程序退出运行,才会释放所占有的内存。

其实说到这里,我们应该再随便说下类的方法,类的方法也分实例方法和类方法,那么有谁能告诉我实例方法和类方法有什么区别么?

是这样的,类的实例方法是在只有类创建对象的时候才会被分配入口地址,而类方法,是当程序的字节码文件加载到内存就马上分配入口地址,这就是为什么实例方法可以调用类方法,而类方法不能调用实例方法的原因,也是类方法为什么不可以操作实例变量而实例方法可以操作类变量的原因(想想谁的入口地址先分配)。那么有人会问,当我在创建一个对象的时候,实例方法和类方法是不是会被再次分配入口地址?

其实不然,当你再创建一个对象时,实例方法是不会再分配入口地址的,也就是说,方法的入口地址是被所有对象共享的。类方法一开始就分配了入口地址,也不会再分配入口地址。讲到这里,也许有人还会问,那么方法的入口地址是什么时候才会被取消的呢?

是这样的,类方法是直到程序退出运行才会被取消入口地址,而实例方法就不一样了,实例方法是当所有对象都不存在的时候,入口地址才被取消。

本文标题:java 程序执行中的实例变量和类变量,责任编辑:宏鹏,来源:武汉北大青鸟鲁广校区栏目,于2012-11-28 08:50:11发布于北大青鸟鲁广校区。java 程序执行中的实例变量和类变量。

专业老师指导

赵老师

赵老师

从事IT教育培训十年有余,致力于帮助广大学子找到适合自己的专业

立即在线咨询

培训咨询客服

陈老师

陈老师

IT培训专业客服,用自己的真诚解决了无数学子的困惑

立即在线咨询

本文地址:https://m.027hpedu.com/wenda/java/1965.html

文章标题:java 程序执行中的实例变量和类变量

上一篇:编程开发从零开始有何方法技巧?

下一篇:Java软件开发常用工具

热点关注

推荐Java开发

热门Java开发

预约你的精彩未来

预约将免费领取7天课程体验卡

-------请选择试预约课程-------

JAVA
WEB前端
PHP
UI设计
Python
电子商务
视频剪辑
大数据工程师
平面设计

83345人已领取

全国百余家校区

只为您方便就学

北大青鸟鲁广校区

北大青鸟鲁广校区

武汉市洪山区珞喻路724号(地铁二号线光谷广场站F口出)

预约到校
领取学习大礼包

首页

热门课程

视频网课

新闻资讯

关于学校

联系学校

预约选课申请

  • 预约时间

    请选择预约时间

  • 预约课程

    请选择预约课程

  • 姓   名
  • 手机号
  • QQ 号
  • 微信号

添加老师微信号

专业老师24小时1对1学习指导

定制专属于你的专属学习方案

微信号:17740513250

复制老师的微信号

复制成功啦

快去微信添加老师为好友吧~

北大青鸟小青

微信号:17740513250

北大青鸟小青

微信号:17740513250

设置备注
小主知道啦