定义
在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。
优点
1、良好的封装能够减少耦合。
2、 类内部的结构可以自由修改。
3、可以对成员变量进行更精确的控制。
4、隐藏信息,实现细节。
Java封装的步骤
1、对属性可见性进行修改,一般将成员属性设置为private,这就实现了信息隐藏;
// 假设本类是学生类
private String name;
private int age;
private char sex;
2、既然属性是私有的,只能本类中才能访问,那么就要创建访问成员变量的方法,那就是getter方法和setter方法。
public String getName() {
return name;
}
public int getAge() {
return age;
}
public char getSex() {
return sex;
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public void setSex(char sex) {
this.sex = sex;
}
在IDEA中可以实现自动生成getter和setter代码:
鼠标右键—generate—选择getter或setter
实例代码
public class Encapsulation {
// 假设本类是学生类
private String name;
private int age;
private char sex;
public String getName() {
return name;
}
public int getAge() {
return age;
}
public char getSex() {
return sex;
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public void setSex(char sex) {
this.sex = sex;
}
public static void main(String[] args) {
Encapsulation encapsulation=new Encapsulation();
encapsulation.setName("皮卡丘");
encapsulation.setAge(2);
encapsulation.setSex('男');
System.out.println("姓名是: "+encapsulation.getName()+" 年龄是: "+encapsulation.getAge()+" 性别是:"+encapsulation.getSex());
}
}
代码运行结果: