Java - 封装
封装 是四个基本 OOP 概念之一。其他三个是继承、多态和抽象。
Java 中的封装是一种将数据(变量)和作用于数据(方法)的代码作为一个单元包装在一起的机制。在封装中,一个类的变量对其他类是隐藏的,只能通过其当前类的方法访问。因此也称为数据隐藏 .
在 Java 中实现封装 -
-
将类的变量声明为私有。
-
提供公共的setter和getter方法来修改和查看变量值。
示例
以下是演示如何在 Java 中实现封装的示例 -
/* File name : EncapTest.java */ public class EncapTest { private String name; private String idNum; private int age; public int getAge() { return age; } public String getName() { return name; } public String getIdNum() { return idNum; } public void setAge( int newAge) { age = newAge; } public void setName(String newName) { name = newName; } public void setIdNum( String newId) { idNum = newId; } }
公共 setXXX() 和 getXXX() 方法是 EncapTest 类的实例变量的访问点。通常,这些方法称为 getter 和 setter。因此,任何想要访问变量的类都应该通过这些 getter 和 setter 来访问它们。
可以使用以下程序访问 EncapTest 类的变量 -
/* File name : RunEncap.java */ public class RunEncap { public static void main(String args[]) { EncapTest encap = new EncapTest(); encap.setName("James"); encap.setAge(20); encap.setIdNum("12343ms"); System.out.print("Name : " + encap.getName() + " Age : " + encap.getAge()); } }
这将产生以下结果 -
输出
Name : James Age : 20
封装的好处
-
类的字段可以设为只读或只写。
-
一个类可以完全控制其字段中存储的内容。
java