封装

封装

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