什么是封装?
封装:就是隐藏对象的属性和实现细节,仅对外提供公共访问方式。
封装时的权限控制符区别如下:
利用封装实现以下输出
- 姓名:徐某某
国家区号:86
个人手机号:12345
创建封装类
package pro2;
public class MobileNumber {
//成员变量私有化
private String owner; //所有者
private String areaCode = "86"; //国家区号
private String mobileNumber; //手机号
//getter 方法,getter方法用于读取成员变量的内容
//getter 书写格式:public 成员变量类型 get成员变量名(),PS:首字母大写
public String getOwner() {
//this关键字代表当前对象的.....
return this.owner;
}
//setter方法,setter方法用于设置成员变量的内容
//setter书写格式:public void set成员变量名(新的数据参数)
public void setOwner(String owner) {
this.owner = owner;
}
public void setAreaCode(String areaCode) {
this.areaCode = areaCode;
}
public String getAreaCode() {
return this.areaCode;
}
public void setMobileNumber(String string) {
this.mobileNumber = string;
}
public String getMobileNumber() {
return this.mobileNumber;
}
}
创建测试类:
package pro2;
public class MobileNumberTest {
public static void main(String[] args) {
MobileNumber mobileNumber = new MobileNumber();
mobileNumber.setOwner("徐某某");//读入
String owner = mobileNumber.getOwner(); //读出
System.out.println("姓名:"+owner);//打印
String areanumber = mobileNumber.getAreaCode();
System.out.println("国家区号:"+areanumber);
mobileNumber.setMobileNumber("12345");
String number2 = mobileNumber.getMobileNumber();
System.out.println("个人手机号:"+number2);
}
}
总结
1、修改属性的可见性来限制对属性的访问(一般限制为private)
2、对每个值属性提供对外的公共方法访问,也就是创建一对赋取值方法,用于对私有属性的访问