一、什么是封装
封装是将类的某些信息隐藏在类的内部,不允许
外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问
二、封装的好处
1、隐藏类的实现细节
2、只能通过规定的方法访问数据
3、方便修改实现
4、方便加入控制语句
三、封装的实现步骤
1、修改属性的可见性 —— 设为private
2、创建公有的getter/setter方法 —— 用于属性的读写
3、在getter/setter方法中加入属性控制语句 —— 对属性值的合法性进行判断
四、代码举例实现:
class Dog1
{
private int health;
public void setHealth(int h)
{
if(h < 0)
{
System.out.println("不合理的数值!恢复默认健康!");
health = 100; //这里能使用私有变量是因为在同一个类中
}
else
{
health = h;
}
}
public int getHealth()
{
return health;
}
}
public class test4 {
public static void main(String[] args)
{
Dog1 d = new Dog1();
d.setHealth(-66);
System.out.println("健康值:"+ d.getHealth());
}
}
结果展示:
对于上面这样封装了Dog1的属性,这样就以控制它属性的变化
当然了有同学肯定会问,一个类它不可能只有一个或两个属性,如果要写很多个属性难道对每一个属性都要进行手敲set和get吗?
答:我们可以用快捷方式,让eclipse自动帮我们生成
1、先将私有的属性声明出来
2、在空白处 Shift + Alt + S 选择Generate Getters and Setters
3、选择你需要的属性就会自动帮我们写好