局部变量能否和成员变量重名?

 局部变量可以和成员变量重名,不加“this”修饰时,优先使用最近的变量。

public class Mainceshi {
    private String a = "成员变量";

    public void GetA() {
        String a = "局部变量";
        System.out.println(this.a);
        System.out.println(a);
    }

    public static void main(String[] args) {
        Mainceshi mainceshi = new Mainceshi();
        mainceshi.GetA();
    }
}

打印出来

成员变量
局部变量

JAVA访问变量采用就近原则,局部变量与成员变量重名时,局部变量比较近,使用局部变量

java采用局部优先的思想。局部变量可以和成员变量相同,使用标识符调用时,优先使用局部变量。在实例方法中出现变量名相同时,可以使用this关键字来调用。


成员变量:就是声明为类的属性的变量。 静态变量(也叫做类变量):就是声明为静态属性的变量。 局部变量:就是方法里面声明的变量。 volatile变量:和多线程相关,用于简化同步的变量 transient变量:用于使该变量不会被持久化 final变量:基本上就是常量

猜你喜欢

转载自blog.csdn.net/weixin_44018338/article/details/91626026