我经历了局部变量和类变量的概念.
但我一直怀疑
"为什么我们不能宣布local variables为static"?
例如
假设我们有一个play()函数:
void play( )
{
static int i=5;
System.out.println(i);
}
Run Code Online (Sandbox Code Playgroud)
它让我在日食中出错:Illegal modifier for parameter i;
我有这个疑问,因为我读过以下概念:
请任何人帮助我澄清这个概念.
谢谢.
因为局部变量的范围仅限于周围的块.这就是为什么他们不能从其他类或方法中引用(无论是静态还是非静态).
维基百科说关于static局部变量(例如在C++中):
静态局部变量在函数内声明,就像自动局部变量一样.它们具有与普通局部变量相同的范围,仅在"存储持续时间"方面不同:当一次调用期间,当函数再次被调用时,函数放入静态局部变量的任何值仍然存在.
这在Java中不存在.在我看来 - 为了更好.
| 归档时间: |
|
| 查看次数: |
564 次 |
| 最近记录: |