一、成员变量和局部变量的区别
区别 | 成员变量 | 成员方法 |
---|---|---|
类中位置不同 | 类中方法外 | 方法内或者方法申明上 |
内存位置不同 | 堆内存 | 栈内存 |
生命周期不同 | 随着对象的存在而存在,随着对象的消失而消失 | 随着方法的调用而存在,随着方法的调用完毕而消失 |
初始化值不同 | 有默认的初始值 | 没有默认的初始值,必须先定义赋值才能使用 |
二、封装
2.1private关键字
- 是一个权限修饰符
- 可以修饰成员(成员变量和成员方法)
- 作用保护成员不被别的类使用,被private修饰的成员只在本类中才能访问
针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作
- 提供“get变量名()”方法,用于获取成员变量的值,方法用public修饰
- 提供“set变量名(参数)”方法,用于设置成员变量的值,方法用public修饰
2.2this关键字
- this修饰的变量用于指代成员变量
- 方法的形参如果与成员变量同名,不带this关键字修饰的变量指的是形参,而不是成员变量
- 方法的形参没有与成员变量同名,不带this修饰的变量指的是成员变量
- 什么时候使用this 解决局部变量隐藏成员变量
- this代表所在类的对象引用
- 记住:方法被那个对象调用,this就代表那个对象