:::info
什么是封装?
答:大概可以这么理解,就好比公开且无人管的器材室,所有人都可以自有出入,里面篮球🏀、足球⚽、羽毛球🏸等等器材大家都可以自由使用想怎么用就怎么用。封装就是现在来了一个管理员器材室不能随意出入了,你要东西可以,但是不能让你自己随意拿了,得经过管理员之手。
此处公开就对应权限修饰:public,被public修饰的属性用最大权限,可以被任意class调用;
不公开就对应:private,被private修饰的属性只能在本类内部使用,外部无法直接访问,但是可以通过类提供的public修饰的方法间接访问。
为什么要封装?封装有什么好处?
- 外部不能直接访问、提高代码的安全性,可控性更方便管理;
- 降低程序复杂度。
学生类的封装
public class Studens {
private int age; //定义成员变量 age并私有
private String naem; //定义成员变量 name并私有
public Studens() { //无参构造
}
public Studens(int age, String naem) { //带参构造
this.age = age;
this.naem = naem;
}
public void speak(){
System.out.println("讲中国话"); // 成员方法
}
public int getAge() { //为外部提供变量访问的方法getXxx方法
return age;
}
public void setAge(int age) { //为外部提供变量访问的方法setXxx方法
this.age = age;
}
public String getNaem() { //为外部提供变量访问的方法getXxx方法
return naem;
}
public void setNaem(String naem) { //为外部提供变量访问的方法setXxx方法
this.naem = naem;
}
}