Java 封装
封装是面向对象编程中的一种重要概念,它指的是将数据(属性)和操作数据的方法(行为)捆绑在一起,以保护数据不被外部直接访问,而是通过类提供的公共方法来访问和操作数据。
核心思想
将数据隐藏在类的内部,只允许通过类的接口(方法)来访问数据,而不允许外部直接访问类的内部数据。这种方式可以防止外部代码意外修改对象的状态,确保数据的完整性和安全性。
封装的优点
1、封装可以隐藏类的内部实现细节,只暴露必要的接口,降低了模块之间的耦合性,提高了代码的可维护性和可复用性。
2、通过封装,可以限制对数据的直接访问,只允许通过类的公共方法来访问和修改数据,从而提高了数据的安全性。
3、封装可以将数据和操作数据的方法封装在一起,提供统一的接口,使得外部代码更容易理解和使用类。
4、封装可以隐藏类的内部实现细节,使得外部代码只需要关注类提供的功能,而不需要了解其具体的实现方式,提高了代码的模块化程度。
实现方式
1、将属性的可见性设置为私有(private),这样外部类无法直接访问该属性,只能通过类内部的方法来访问和修改属性的值。
示例如下:
public class Ice { private int age=3; // 获取年龄的方法 public int getAge() { return age; } public static void main(String args[]) { Ice ice=new Ice(); System.out.println(age); } }
age 是 Ice 类的私有属性,无法在类外部直接访问。
可通过公共方法(也称为访问器或 getter 和 setter 方法)来提供对外访问和修改属性的接口:
public class Ice { //age 属性被声明为私有,外部类无法直接访问它。通过 getAge() 方法,我们提供了对外获取年龄的接口。 private int age=3; // 获取年龄的方法 public int getAge() { return age; } public static void main(String args[]) { Ice ice=new Ice(); System.out.println(ice.getAge()); } }