1.将类的某些信息隐藏在类内部,不允许外部程序直接访问
2.通过该类提供的方法来实现对隐藏信息的操作和访问
3.隐藏对象的信息
4.留出访问的接口
特点:
1.只能通过规定的方法 访问数据
2.隐藏类的实现细节,方便修改和实现
封装的实现步骤
1.修改属性的可见性(设为private 类内访问)
2.创建getter/setter方法(设为public用于属性的读写)
3.在getter/setter方法中加入属性控制语句(对属性值的合法性进行判断)
public class CatTest {
public static void main(String args[]){
//对象实例化
Cat one=new Cat();
//测试
one.setName("凡凡");
one.month=3;
one.weight=1000;
one.species="中华田园猫";
System.out.println("昵称:"+one.getName());
System.out.println("年龄:"+one.month);
System.out.println("体重:"+one.weight);
System.out.println("品种:"+one.species);
}
}
/**
* 宠物猫类
* @author 静默
*
*/
public class Cat {
//成员属性:昵称、年龄、体重、品种
//修改属性的可见性------private 限定只能在当前类内进行访问
private String name;//昵称 String类型默认值为null
int month;//年龄 int类型默认值0
double weight;//体重 double类型默认值0.0
String species;//品种
public Cat(){
}
//创建get/set方法
//在get/set方法中添加对属性的限定
public String getName() {
return "我是一只名叫:"+name+"的宠物猫";
}
public void setName(String name) {
this.name = name;
}
//成员方法:跑动、吃东西
//跑动的放方法
public void run(){
eat();
System.out.println("小猫快跑");
}
public void run(String name){
System.out.println(name+"快跑");
}
//吃东西的方法
public void eat(){
System.out.println("小猫吃鱼");
}
}