在最开始学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;
}
}
}