封装 即 属性私有化
实现步骤
- 将类中的变量修饰符设为
private
- 创建
getter()/setter()
方法,提供公共对外访问接口 - 在
getter()/setter()
方法中加入属性控制语句
案列
public class Employee {
// step 1: 属性私有化
private String name;
private int age;
private double salary;
// step 2: 提供公共对外访问接口
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
// step3: 添加控制语句
public void setAge(int age) {
if(age > 130){
System.out.println("太长寿了吧~~~~~");
}else{
this.age = age;
}
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
}
封装的好处
- 提高安全性
- 可以使修改类的内部实现时,无需修改该类的客户代码
public class Employee {
private String name;
// 修改内部实现
private String age;
private double salary;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
// 修改对外公共访问接口
public String getAge() {
return Integer.valueOf(age);
}
// 修改对外公共更改接口
public void setAge(int age) {
if(age > 130){
System.out.println("太长寿了吧~~~~~");
}else{
this.age = String.valueOf(age);
}
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
}