例如
Class Moon{
int a;
void mango()
{
a=9; // put 9 in instance variable "a"
}
void orange()
{
int a; // declare local variable with same name as of instance variable
}
}
我们可以修改方法中的实例变量的值,并且我们可以声明与实例变量同名的局部变量吗?
答案 0 :(得分:1)
当存在实例变量和局部变量时,您可以将实例变量与this.a
一起使用,并使用仅a
的本地变量。
常用:
public void setA(int a) {
this.a = a
}
答案 1 :(得分:1)
从方法中修改实例变量是:
(我的意思是,如果您无法在方法中修改实例变量,那么您将从哪里修改它?)
如果您希望某个特定的实例变量不可以在方法中修改,那么您必须使用final
关键字对其进行标记,如下所示:final int a;
- 你仍然可以从构造函数初始化它。
声明一个与实例变量同名的局部变量是完全有效的java;但是,建议不要这样做,这就是为什么通常可以配置IDE以在执行此操作时发出警告。实际上,如果您的IDE没有给出警告,那么这可能意味着您没有启用足够的警告进行编译。 始终启用尽可能多的警告。