面向对象三大特性之封装(1)

面向对象三大特性之封装(1)


在最开始学Java的时候也是迷迷糊糊,对这些基本概念都不太清楚,可能在平时编码过程不需要了解也没有问题,但是对这些基本特性掌握之后无疑对我们的编码规范什么都是有帮助的,知其然也得知其所以然。

1.什么是封装?

简单来说,就是我们不能直接操作类的属性信息,而是要通过方法来操作属性。
那么这么做有什么好处呢?
最大的好处就是我们可以隐藏类的细节, 方便修改和实现;

2.封装的实现步骤

1. 修改属性的可见性,将其设置为private。
2. 创建getter/setter方法,用于属性的读写。

(这里补充一下idea快速生成get/set的方式)
2.1 alter + enter
将光标放在没有get,set的成员变量上面,就会弹出一个小框
在这里插入图片描述
2.2 alt + insert(个人觉得这个比较方便)
将光标放在类里面,就会弹出一个小框,可以勾选需要生成get,set方法的属性
在这里插入图片描述
3. 在getter/setter方法中加入对属性值的判断。
例如学生的年龄不能为负数,就可以在setter方法中判断传入的值是否大于0,如果小于0就进行相应处理,这也是封装的好处之一,避免了对属性的随意修改。

public class Student extends People{
    private String name ;

    private int age;

    public Student(){
    }

    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 > 0){
            this.age = age;
        }else {
            System.out.println("年龄赋值错误");
            this.age = 10;
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值