gpt4 book ai didi

java - java中的局部变量

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:19:12 25 4
gpt4 key购买 nike

我了解了局部变量和类变量的概念。

但我一直有一个疑问
“为什么我们不能将局部变量声明为static”?

例如
假设我们有一个 play() 函数:

void play( )  
{
static int i=5;
System.out.println(i);
}

它在 eclipse 中给我错误:Illegal modifier for parameter i;

我有这个疑问是因为我读过以下概念:

  1. 方法内的变量:范围是局部的,即在该方法内。
  2. 当变量声明为 static 时,它存在于整个类中,即不存在于特定对象中。

谁能帮我澄清一下这个概念。

谢谢。

最佳答案

因为局部变量的范围仅限于周围的 block 。这就是为什么不能从其他类或方法中引用它们(无论是静态还是非静态)。

维基百科关于 static 局部变量的说法(例如在 C++ 中):

Static local variables are declared inside a function, just like automatic local variables. They have the same scope as normal local variables, differing only in "storage duration": whatever values the function puts into static local variables during one call will still be present when the function is called again.

这在 Java 中不存在。在我看来 - 变得更好。

关于java - java中的局部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2844382/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com