日期:2011-03-22 16:17:00 来源:本站整理
对象的作用域[Java编程]
本文“对象的作用域[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
Java对象不具有与主范例一样的存在时间.用new关键字成立一个Java对象的时刻,它会超越作用域的范围之外.所以假如利用下面这段代码:
{
String s = new String("a string");
} /* 作用域的终点 */
那么句柄s会在作用域的终点处消逝.但是,s指向的String对象仍然占据着内存空间.在上面这段代码里,我们没有办法拜候对象,因为指向它的唯一一个句柄已超越了作用域的边界.在背面的章节里,大家还会持续学习如安在程序运行期间传送和复制对象句柄.
这样造成的后果就是:关于用new成立的对象,只要我们乐意,它们就会一向保存下去.这个编程问题在C和C++里分外突出.看来在C++里碰到的麻烦最大:由于不能从语言得到任何帮忙,所以在需求对象的时刻,根本无法肯定它们能否可用.并且更麻烦的是,在C++里,一旦工作完成,必须保证将对象排除.
这样便带来了一个风趣的问题.假定Java让对象仍然故我,怎样才能避免它们大量充斥内存,并终究造成程序的“凝固”呢.在C++里,这个问题最令程序员头痛.但Java今后,情形却发生了改变.Java有一个分外的“垃圾汇集器”,它会查找用new成立的全部对象,并辨别此中哪些不再被引用.随后,它会自动释放由那些闲置对象占据的内存,以便能由新对象利用.这意味着我们根本没必要操心内存的回收问题.只需简单地成立对象,一旦不再需求它们,它们就会自动拜别.这样做可避免在C++里很常见的一个编程问题:由于程序员忘掉释放内存造成的“内存溢出”.
以上是“对象的作用域[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
- ·上一篇文章:新建数据典范:类
- ·下一篇文章:Java的作用域
- ·中查找“对象的作用域”更多相关内容
- ·中查找“对象的作用域”更多相关内容
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论