一直以为 Java 的变量是不可以重复定义的,其实这种看法比较片面,成员变量和局部变量名是可以重复的。
在一个作用域时确实不可以重复定义,但是一个成员变量定义后,如果再定义一个局部变量,例如块,方法,可以定义重名的属性,这时候如果代码中调用到对应的变量名,默认胡找最近的“变量定义”,所以这个时候可以认为成员变量被屏蔽。
如果想调用成员变量,对于实例变量,可以使用“this”关键字调用并加以区分;如果是静态变量,前面加上类名即可。
所以在编写代码应该通过如上的两种调用方法加以区分,提高代码可读性。