📅  最后修改于: 2020-11-15 04:28:24             🧑  作者: Mango
封装是四个基本的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
可以将类的字段设置为只读或只写。
一个类可以完全控制其字段中存储的内容。