【问题标题】:Scope of a local variable within a class类中局部变量的范围
【发布时间】:2022-01-12 10:30:36
【问题描述】:

我对局部变量的理解是它是在函数/方法中声明的。实例变量是在类中声明并具有类范围的变量。因此,局部变量的范围在类内的声明应该是错误的,因为局部变量仅在其直接外部词法范围内有效,而不在父范围内有效。这个问题是特定于 Java 的。

这符合我的理解吗?

http://tutorials.jenkov.com/java/variables.html

确切的问题

State true or false 局部变量的作用域在一个类内

【问题讨论】:

  • 如果你直接引用你读到的地方会有所帮助,因为它看起来确实是错误的,但也许有一些细微差别?
  • 我关注了您的链接,但找不到您在此处引用的确切文本。你能告诉我们这是在哪里声明的吗?
  • 不,这句话来自我正在学习的一本书。该链接是对我的理解进行解释的地方。很抱歉造成误解。

标签: java oop


【解决方案1】:

也许还有一些事情 “函数/方法中局部变量的范围”是的,但试试这个

{
   int val=10;

}

System.out.println(val)

只需创建一个块并初始化一个变量,然后尝试在块外打印它,它会导致错误这对于“条件/循环”语句也是一样的 因此,局部变量不仅限于函数/方法,而是它们被定义的块

如果在类中声明了实例变量。我们如何使用它?或参考它?调用适当的函数/方法.....

PS:对于您的问题,这是“正确的”,因为它仅在类中定义,可能是构造函数或方法,并且只能在此之前访问

【讨论】:

  • 是的,但据我所知,孤立的给定语句是错误的,因为局部变量永远不能具有类范围的范围。
  • 是的,局部变量是局部变量,它们被精确定义为一个块,除此之外我们永远无法访问它们:D
  • 但是类不能被视为块,因为类的局部变量称为实例变量,不再称为局部变量。
猜你喜欢
  • 1970-01-01
  • 2013-05-10
  • 2014-07-14
  • 2014-03-02
  • 2013-10-14
  • 1970-01-01
  • 2010-11-26
  • 2016-11-13
  • 2017-03-05
相关资源
最近更新 更多