什么是封装
是为了确保数据的安全的一种手法
把属性私有化
私有化的结果是只有自己知道别人无法操作
封装步骤
把属性私有化,private
set方法:给成员变量赋值,setXXX
get方法:对外提供成员变量的值,getXXX
11.13薪水数据封装课堂案例
package p3;
public class Employee {
public String name;
private int exp;//成员变量
public void showInfo() {
System.out.println("大家好我叫" + this.name + "我有" + getExp() + "年的工作经验");
}
//方法 设置工作经验
//调用方式:
//对象名.getExp(行参值)
public void setExp【设置exp的值】(int exp) {
//形参exp是局部变量
//局部变量赋值给成员变量即可
//可在这里加条件
this.exp = exp;
}
//写一个获得年龄的方法
public int getExp【获取exp的值】() {
// 如果真实的工作经验小于3年,就对外宣称3年
//如果工作经验小于3,就返回3
if (this.exp < 3) {
return 3;
}
// 否则就直接返回真实数据
return this.exp;
}
}
Employee类的对象
package p3;
import p1.gzjy;
public class dx {
public static void main(String[] args) {
Employee xm=new Employee ();
//给员工设置工作经验
xm.setExp(3);
//设置员工姓名
xm.name="小明";
//小强自我介绍
xm.showInfo();
}
}
字数数据封装课堂案例
package p2;
public class Student {
private String name;
private int age;
//alt ins
//getter and setter
//选择需要封装的属性
public String getName() {
return name;
}
public void setName(String name) {
if(name.length()>4){
name="匿名";
}
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
Student类的对象
package p2;
public class Test {
public static void main(String[] args) {
Student xm=new Student();
xm.setName("山岛小日子");
System.out.println(xm.getName());
}
}
小结
1.private关键字是一个权限修饰符
2.可以修饰成员(成员变量和成员方法)
3.被private修饰的成员只能在本类中才能访问
4.针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作
5.提供“setXxx(参数)”方法,用于给成员变量赋值,方法用public修饰
6。提供“getXxx”方法,用于获取成员变量的值,方法用public修饰