📜  java 封装(1)

📅  最后修改于: 2023-12-03 15:16:00.267000             🧑  作者: Mango

Java 封装
什么是封装

封装是面向对象编程中的一种基本特征,指将数据和方法包装在一个单元内,这个单元称为类。其目的是将数据和方法隐藏,通过类的接口来访问数据和方法。封装可以提高代码的可维护性和安全性,同时减少代码的耦合性。

封装的优点

封装的优点主要有以下几点:

  • 隐藏数据实现的细节,降低使用者的理解难度;
  • 提高代码的可维护性和安全性,数据只能通过类的方法进行访问,利于修改维护;
  • 降低代码的耦合度,减少一个模块对其他模块的依赖,提高模块的独立性。
实现封装的方法

Java 实现封装主要通过访问修饰符和 getter/setter 方法来实现。

访问修饰符分为 public、private、protected 和 default(即不写访问修饰符)四类,其中:

  • public:无限制,可以被任何代码访问;
  • private:限制访问范围仅在类的内部,不能被其他类访问;
  • protected:限制访问范围仅在类的内部和子类中,不能被其他类访问;
  • default:限制访问范围仅在同一个包内,不能被其他包中的类访问。

使用 private 访问修饰符来隐藏数据实现的细节,然后通过 getter/setter 方法来访问数据。getter 方法用于获取数据,setter 方法用于设置数据。getter/setter 方法通常定义为 public 和非静态的。

例如:

public class Person {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

在这个例子中,name 和 age 用 private 修饰符修饰,只能在类的内部访问。通过 getName() 和 setName() 方法访问 name 数据,通过 getAge() 和 setAge() 方法访问 age 数据。由于 getter/setter 方法是 public 的,所以可以被其他类访问。这种方式就达到了封装的目的。

小结

Java 封装是一种重要的面向对象编程特征,可以提高代码的可维护性和安全性,同时减少代码的耦合性。实现封装的方法主要有访问修饰符和 getter/setter 方法。在实际开发中,应该合理使用封装来提高代码的质量。