静态变量和参数同名

Ed *_*eal 2 java

考虑以下代码:

public class myclasss {
   private static int somevar;

   public setSomeVar(int somevar) {
     somevar = somevar;
   }
}
Run Code Online (Sandbox Code Playgroud)

显然这段代码somevar = somevar;没有意义。是否可以在不更改参数名称的情况下将变量设置somevar为?somevar(即区分两个变量)?

And*_*ner 7

是的,限定静态变量的名称:

myclasss.somevar = somevar;
Run Code Online (Sandbox Code Playgroud)

类似地对于实例变量:

private int anothervar;

public setAnothervar(int anothervar) {
  this.anothervar = anothervar;
}
Run Code Online (Sandbox Code Playgroud)