java成员变量和局部变量的区别-和this关键字---基础篇

属性成员变量必须私有化

区别一:定义的位置不同

             定义在类中的变量是成员变量

    定义在方法中或者{}语句里面的变量是局部变量

区别二:在内存中的位置不同

            成员变量存储在对内存的对象中

            局部变量存储在栈内存的方法中

区别三:声明周期不同

            成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失

            局部变量随着方法的运行而出现在栈中,随着方法的弹栈而消失

区别四:初始化不同

            成员变量因为在堆内存中,所有默认的初始化值

            局部变量没有默认的初始化值,必须手动的给其赋值才可以使用。

private修饰符可以修饰成员变量,但是需要提供get set 方法


注意:类中的方法如果和成员变量重名的话,就近原则

2. this关键字

    区分成员变量和局部变量的重名问题,this.name指的是类中的成员变量--而不是方法内部的

你可能感兴趣的:(java)