目录
一、成员变量与局部变量的比较
1.定义的位置不同
成员变量定义在类中 方法外
局部变量定义在方法中
2.生命周期不同
成员对象随着对象的加载而加载 随着对象的销毁而销毁
局部变量随着方法的调用而加载 随着方法的结束而销毁
3.存储的位置不同
成员变量存在堆内存中
局部变量存在栈内存中
4.是否有默认值
成员变量都有默认值
整数类型 0 、小数类型 0.0 、字符类型 \u0000(空格)、布尔类型 false、引用类型 null
局部变量没有默认值, 局部变量必须先赋值才能使用
二、封装
1.概念:隐藏内部细节,提供对外访问方法
2.好处:
提高代码安全性
提高代码可扩展性和可维护性
3.体现:
a.对属性的封装
b.对工具类的封装 加密解密工具类 时间格式化工具类 字符串工具类 json工具类
4.对属性进行封装 使用关键字 private
a.关键字: private 私有 私人
b.修饰成员 类 方法 变量 ......
c.使用private进行修饰 只能本类进行访问
5.方案
问题: 使用private修饰的成员 只能本类进行访问
解决: 提供两个对外访问方法 setxxx() getxxx() ==>xxx 表示的是属性的名称
setxxx() ==>用于来设置值 getxxx()==> 用于来获取值
6.方案
问题:方法的参数名与成员变量的名称相同 导致成员变量赋值失败
原因: 变量访问是离声明变量最近的位置 在方法中
局部变量优先级大于成