在构造函数中声明的变量是否在创建的对象中持久存在

时间:2015-03-04 22:14:05

标签: java variables constructor scope

如果我想在对象的构造函数中声明一个temp int,那么在构造完成后该变量是否会保留在内存中。或者垃圾收集完成后会将其删除吗?

2 个答案:

答案 0 :(得分:2)

一旦变量超出范围并且您没有保留对它的引用并且垃圾收集运行,它将从内存中删除。 这不能保证在构造函数完成执行后立即发生 - 但这可能需要一些时间,具体取决于具体情况。

答案 1 :(得分:0)

intlongboolean和其他原始变量从不被垃圾收集,因为它们占用了线程堆栈中的空间。

当方法调用(包括构造函数)返回调用者时,它们的内存利用率会恢复。