当前位置: 首页 > 面试题库 >

实例变量和局部变量的默认值

厍胤运
2023-03-14
问题内容

我读到Java为类属性提供了默认值,但没有为局部变量提供默认值。那是对的吗?如果是这样,背后的原因是什么?当您做某件事时,为什么不一直这样做呢?

谢谢你,
罗杰


问题答案:

标准局部变量存储在堆栈中,直到初始化后才真正创建。如果未使用局部变量,则它不会进入堆栈。但是,成员变量在堆中分配,因此具有默认的占位符(空引用或默认原语)。



 类似资料:
  • 假设我有下面的类:每次Meow调用时,都会在堆上创建一个新的随机对象。 我是否应该将随机对象从Meow方法中取出,并像这样将它从局部变量改为实例变量?因此,每次Meow调用相同的随机对象时,将使用在堆上创建的cat对象,而不是像上面的方法那样使用一个新的对象。 我试图理解第二种方法是否是一个最佳实践,因为即使我的程序很小,它也不会是一个大问题,也许以后如果程序变大了,它会帮助我防止性能问题。

  • 主要内容:局部变量,全局变量,局部变量和全局变量的综合示例在《 C语言形参和实参的区别》中提到,形参变量要等到函数被调用时才分配内存,调用结束后立即释放内存。这说明形参变量的作用域非常有限,只能在函数内部使用,离开该函数就无效了。 所谓 作用域( Scope ) ,就是变量的有效范围。 不仅对于形参变量,C语言中所有的变量都有自己的作用域。决定变量作用域的是变量的定义位置。 局部变量 定义在函数内部的变量称为 局部变量(Local Variable) ,

  • 本文向大家介绍Python实例变量的默认值,包括了Python实例变量的默认值的使用技巧和注意事项,需要的朋友参考一下 示例 如果变量包含不可变类型的值(例如字符串),则可以分配这样的默认值 在初始化可变对象(例如构造函数中的列表)时,需要小心。考虑以下示例: 此行为是由于以下事实引起的:在Python中,默认参数是在函数执行时绑定的,而不是在函数声明时绑定的。要获得实例之间不共享的默认实例变量,

  • 主要内容:Python局部变量,Python全局变量,获取指定作用域范围中的变量所谓 作用域(Scope),就是变量的有效范围,就是变量可以在哪个范围以内使用。有些变量可以在整段代码的任意位置使用,有些变量只能在函数内部使用,有些变量只能在 for 循环内部使用。 变量的作用域由变量的定义位置决定,在不同位置定义的变量,它的作用域是不一样的。本节我们只讲解两种变量, 局部变量和 全局变量。 Python局部变量 在函数内部定义的变量,它的作用域也仅限于函数内部,出了函数就不能

  • 问题内容: 我已经读过“如果变量的作用域更近,则该变量将被遮盖”。我发现此Point类带有一个构造函数作为示例: 然后,我在下面的CreateObjectDemo类中创建了Point类的对象,并打印了变量x的值。 运行编译器后,它显示0。但是为什么不显示23?我认为构造函数中的 “ x = x” 将类似于 “ 23 = 23” 。我是否误解了阴影变量的定义? 问题答案: 我认为构造函数中的“ x

  • 问题内容: 我正在尝试使用exec运行一段python代码。 这导致以下输出 但是,如果我将代码更改为此- 然后工作正常-提供以下输出- 显然,A存在并且可以访问-在第一段代码中出了什么问题?我正在使用2.6.5,欢呼声, 科林 更新1 如果我检查类中的locals()- 然后很明显,locals()在两个地方都不相同- 但是,如果我这样做,就没有问题- 更新2 好的,所以这里的文档-http: