Java封装的详解

什么是封装?

所谓封装,就是字面意思,把一个东西装起来,只留下一个"门"给有需要的"人"访问使用.就好比我们的电视机,厂家把所有内部细节都封装起来,包括换台键,声音调节键,开机关机键等,我们只需要使用遥控器就可以完成对应的操作.这个过程就是使用到前面所说的"门",更专业的说法叫接口.通俗的来说,封装就是对数据的隐藏,而遵循的原则就是该露的露,该藏的藏.这里要清楚,封装主要是针对类的属性进行操作将类的属性"藏"起来.

怎么封装呢?

在我们的生活中,建立一个类(银行),然后将里面的属性进行私有化,所以我们可以知道,所有在封装类内部的属性都需使用private修饰符,来达到属性私有化,从而做到封装.这样操作之后,我们在实现类就不能直接调用类的属性了,这个时候又引出一个问题,我们怎么访问封装的类里面的属性呢?

怎么访问封装的类里面的属性呢?

这里要访问封装类属性就需要"门"了,这里的门就是操作封装类属性的方法,这里提供了public的get和set的方法,get可以获得数据,set可以可以给这个数据设置值.get/set方法可以使用快捷键alt+insert:getter and setter快捷实现,综上所述我们来看看代码实现:

//封装一般用于属性
//private:私有
public class Student {
    //属性私有
    private String name;//姓名
    private int age;//年龄
    //提供可以操作属性的方法(public的get,set方法)
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        if (age>120 || age<0){
            this.age = 3;
        }else{
            this.age = age;
        }
    }
}

在封装类写下get.set方法后,在实现类就可以通过get/set方法对封装类的基础属性进行操作:

public class Test {
    public static void main(String[] args) {
        Student s1 = new Student();
        s1.setName("麦乐鸡侠");
        s1.setAge(20);
        System.out.println(s1.getAge());//20
        System.out.println(s1.getName());//麦乐鸡侠
    }
}

为什么会出现封装呢?

在我们程序设计中,一直追求"高内聚,低耦合",高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合就是仅暴露少量的方法给外部使用.这里引入一个例子就是银行,高内聚就好比在银行内部,具体是怎么个构成,管理整个银行运作的各个细节都是由内部人员管理;低耦合就是对银行我们有取钱,存钱这个方法,每个"用户"只能对自己的银行账户进行操作,但围绕银行又有很多操作,但只会提供一些最基本且有意义的操作给客户.而对于客户的一些操作,还能进行判断,来保证程序的安全性.

封装有什么用呢?

1.提高程序的安全性,可以保护内部数据(在set方法可以对调用处的数据进行判断)

2.隐藏代码的实现细节

3.统一接口(get/set方法)

4.便于修改内部代码,提高系统的可维护性

总的来说,记住一句话就可以使用好封装: 属性私有 get/set

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值