定义:封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。将引用类型数据或基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。
好处:
1、良好的封装能够减少耦合。(比如日后突然要修改属性age为String类型,无需修改所有调用该方法的代码,只需在修改在封装类中修改age的类型,然后set方法内部进行处理this.age=String.valueOf(age))。
2、类内部的结构可以自由修改。
3、可以对成员进行更精确的控制。(比如可以在其他对象调用set方法修改属性对修改内容进行处理)
4、隐藏信息,实现细节。(通过权限修饰符来隐藏成员如private)
例子:
第一步,通过将类的属性的访问权限设置为private对属性进行保护和隐藏。
第二步,通过public的get,set方法允许和控制其他对象访问和修改本对象内部属性。
public class Person {
private String name;
private int age;
public int getAge(){
return age;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age = age;
}
public void setName(String name){
this.name = name;
}
}