问题:当创建了类的对象以后,如果直接通过“对象.属性“的方式对相应的对象属性赋值的话,可能出现不满足实际情况的意外,我们考虑不让对象来直接作用属性,而是通过”对象.方法“的形式,来控制对属性的访问,实际情况中,堆属性的要求可以通过方法来实现。
解决的方法:(封装性的思想)将类的属性私有化,提供公共的方法(setter & getter)来实现调用。
classAnimal{
// 属性私有化,提供公共的方法来调用
privateStringname;
private intleg;
//获取属性
publicStringgetName() {
returnname;
}
//设置属性
public voidsetName(String name) {
this.name= name;
}
public intgetLeg() {
returnleg;
}
public voidsetLeg(intleg) {
this.leg= leg;
}
public voideat(){
System.out.println(this.name+"吃食物");
}
public voidsleep(){
System.out.println(this.name+"睡觉");
}
public voidinfo(){
System.out.println("名称:"+name+"\t"+"腿的个数:"+this.leg);
}
}