1、封装:将代码保护起来,外部不允许直接操作和访问,提高代码的安全性
//在外部程序直接访问person数据 public class date4 { public static void main(String[] args) { person p1 = new person(); //访问一个对象的属性,包括读数据和改数据 //读数据 System.out.println(p1.age); //改数据 // 没有封装的属性,可以被外部方法所访问,导致数据不安全 p1.age = 50;//外部直接更改person类的age属性 System.out.println(p1.age); } } class person { int age; //成员变量--实例变量--属性 }
2、尝试封装
a.不再对外部暴露复杂的数据,封装起来
b.对外只提供简单的操作入口
c.优点:第一数据安全了,第二调用者也方便了
d.封装一般用private关键字进行修饰属性/方法,表明该数据只能在本类中进行
e.写一个方法专门完成读(get)
f.写一个方法专门完成写(set)
//封装后在外部程序访问person数据 public class date4 { public static void main(String[] args) { person p1 = new person(); //写数据,通过set方法进行写数据 p1.setAge(23); //读数据,通过get方法进行读数据 System.out.println(p1.getAge()); } } class person { private int age; //成员变量添加private关键字,封装保护起来,不允许外部直接访问 public int getAge() {//一个变量产生一个get方法,用于读数据 return age; } public void setAge(int age) {//一个变量产生一个set方法,用于写入数据 this.age = age; } }
运行结果:23