面向对象(2)

封装

  • 封装概述
  • 封装的步骤
      • 修改属性的可见性
      • 设置setter/getter方法
      • 设置属性的存取限制
  • 使用访问修饰符
    • 类和类成员的访问控制
      • 类的访问修饰符
      • 类成员的访问修饰符
    • static关键字
      • 用static修饰属性
      • 用static修饰方法

封装概述

Java中封装的实质就是将类的状态信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作访问。
封装反映了事物的相对独立性,有效避免了外部错误对此对象的影响,并且能对对象使用者由于大意产生的错误操作起到预防作用。同样面向对象编程提倡对象之间实现松耦合关系。
封装的好处在于隐藏类的实现细节,让使用者只能通过程序员规定的方法来访问数据,可以方便地加入存取控制修饰符,来限制不合理操作。

封装的步骤

修改属性的可见性

public class Dog {
    //private 私有化,保护属性不被篡改
    private String name;
    private int health;
    private int love;
    private String strain;

将dog类中的属性由public修改为private即可。
修改后,其他类就无法访问了。

设置setter/getter方法

public void setName(String name){//setter 赋值
        this.name=name;
    }
    public String getName(){//getter 获取
        return this.name;
    }

设置属性的存取限制

此时,还没有对属性值设置合法性检查,需要在setter方法中进一步利用条件判断语句进行赋值限制。

使用访问修饰符

使用访问修饰符修饰类和类成员

类和类成员的访问控制

类的访问修饰符

public:同一包中可以使用,非同一包中也可以使用。
默认修饰符:同一包中可以使用,非同一包中不可以使用。

类成员的访问修饰符

面向对象(2)_第1张图片

static关键字

一个类可以创建n个对象。如果n个对象中的某些数据需要公用,就需要使用static关键字修饰这些数据。
Java中,一般情况下调用类的成员都需要先创建类的对象,然后通过对象进行调用。使用static关键字可以实现通过类名加“ . ”直接调用类的成员,不需要创建类的对象。使用static修饰的属性和方法属于类,不属于具体的某个对象。

用static修饰属性

用static修饰的属性称为静态变量,没有使用static修饰的属性称为普通变量(实例变量)。
使用static修饰的属性不依赖任何对象,用类名直接加" . "调用即可。

用static修饰方法

用static修饰的方法称为静态方法,不用的称为普通方法(实例方法)。
使用static修饰的方法不依赖任何对象,用类名直接加" . "调用即可。

你可能感兴趣的:(java)