为什么成员变量与局部变量定义名称相同时成员变量将被隐藏?成员变量不是在整个类中都有效吗?

public class Val{
static int times=3;
public static void main(String[] args){
int times=4;
System.out.println("times的值为:"+times);
}
}

结果为:times的值为4

为什么???

局部变量的名字空间优先级更高。所以会优先用局部变量