面向对象-封装

1.封装的概念

  1. 封装其实就相当于把不需要用户了解细节(隐私或者的特别复杂的细节)包装(隐藏)起来,只对外提供公共访问方式

2. 成员变量私有化(封装的一种体现形式)

  1. 我们可以使用private来修饰成员变量,提供对应的set/get方法提供刚刚的访问方式。

2.1 private

  1. private是一个修饰符,它可以用来修饰类中的成员变量或者成员方法,被它修饰的成员变量只能在本类中访问,不能在其他类中直接访问

例如:

  1. public class Phone{
  2. private String brand;//在成员变量定义的前面加上private修饰
  3. }

2.2 set/get方法

  1. setXxx方法用来对成员变量赋值,所以方法参数一般是和这个成员变量是同一个数据类型,没有返回值。
  2. getXxx方法用来获取成员变量的值,所以方法一般是没有参数,有返回值,返回值类型就是这个成员变量的数据类型。
  3. 注意:上面的Xxx代表成员变量名,注意遵循小驼峰命名规范

例如:

  1. public class Phone{
  2. private String brand;
  3. public void setBrand(String brand){
  4. this.brand = brand;
  5. }
  6. public String getBrand(){
  7. return brand;
  8. }
  9. public Phone(String brand){
  10. this.brand = brand;
  11. }
  12. }

3. this

  1. this可以用来在局部变量和成员变量重名的时候区分他们,加了this的就是成员变量。
  2. 注意:我们只能在一个类的成员方法或者构造方法中去使用this

3.1 小思考

  1. this究竟代表什么?this代表当前对象

4.思考

  1. 我们之前用构造方法可以给成员变量赋值,现在学习了set方法也可以给成员变量赋值。那么它们使用起来有区别吗?