封装:将事物封装成一个类,减少耦合,隐藏细节。保留特定的接口与外界联系,当接口内部发生改变时,不会影响外部调用方。
例:
public class EncapTest { private String name; private String idNum; private Integer age; public String getName() { return name; } public String getIdNum() { return idNum; } public Integer getAge() { return age; } public void setName(String name) { this.name = name; } public void setIdNum(String idNum) { this.idNum = idNum; } public void setAge(Integer age) { this.age = age; } }
public class RunEncap { public static void main(String[] args) { EncapTest en = new EncapTest(); en.setAge(20); en.setIdNum("123"); en.setName("张三"); System.out.println(en.getName() + "的IdNum: " + en.getIdNum() + " , 年龄: " + en.getAge()); } }
总结:通过将类EncapTest的name、inNum和age属性私有化,只有通过公共的get/set方法才能进行访问,在get/set方法中我们可以对内部逻辑进行封装处理,外部的调用方不必关心我们的处理逻辑。