成员变量和局部变量同名问题

我与影子孤独终老i 提交于 2020-01-26 22:49:36

通过前面学习,基本明确了对象初始化过程中的细节,也知道了构造方法之间的调用是通过this关键字完成的。但this也有另外一个用途。

当在方法中出现了局部变量和成员变量同名的时候,那么在方法中怎么区别局部变量成员变量呢?可以在成员变量名前面加上this.来区别成员变量和局部变量

class Person {

    private int age;

    private String name;

 

    // 给姓名和年龄初始化的构造方法

    Person(String name, int age) {

        // 当需要访问成员变量是,只需要在成员变量前面加上this.即可

        this.name = name;

        this.age = age;

    }

 

    public void speak() {

        System.out.println("name=" + this.name + ",age=" + this.age);

    }

}

 

class PersonDemo {

    public static void main(String[] args) {

        Person p = new Person("张三", 23);

        p.speak();

    }

}

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!