封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口。
面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
封装是一种信息隐藏技术,在java中通过关键字private实现封装。
1.属性私有(用private关键字修饰)。
例如:
private String name;//姓名
private int rp;//人品
例子中的两个属性都被声明私有的了(private),也就是说这两个属性只能被本类访问,其他类都不能访问。
2.创建getter/setter方法 (用于属性的读写)。
3.在getter/setter 方法中加入属性控制语句(对属性值的合法性进行判断)。
例如:
public class Dog {
private int getNumberOfLegs;
private int Mood;public Dog() {
super();
this.getNumberOfLegs=4;
this.Mood=1;
}public Dog( int getNumberOfLegs, int mood) {
super();
this.getNumberOfLegs = getNumberOfLegs;
Mood = mood;}
//创建getter/setterde方法
public int getGetNumberOfLegs() {
return getNumberOfLegs;}
//对getter/setter的判断
public void setGetNumberOfLegs(int getNumberOfLegs) {
if(getNumberOfLegs!=4){
this.getNumberOfLegs = getNumberOfLegs;
}}
//
public int getMood() {
return Mood;}
public void setMood(int mood) {
Mood = mood;}
//方法的重载(可实现代码的节省,可简化理解为同名同类不同参)
public String sayHello() {return "摇摇尾巴";
}
public String sayHello(int mood){
this.setMood(mood);
switch(this.Mood){
case 1:return"汪汪";
case 2:
return"呜呜";
default:
return"摇摇尾巴";
}
}
}