前言
好长时间没有写文章了,上次写文章已经是两年前了,为什么我又开始突然写文章了呢,因为前段时间领导对我说了一些话比较触动自己,就是感觉自己现在每天都干这重复的工作,有点虚度光阴,感觉自己很难提升;也不知道该怎么提升,领导说可以写文章试试,我写文章的目的一直想的是把这个知识点想的通俗易懂,然后写出来大部分人都能懂;所以我以后的文章都是偏那种大俗的方向,很少会用专业词汇
一、Java的封装是什么?
先从菜鸟教程上查一下专业词汇怎么说:
发现上面每一个中国汉字都认识,但是没有一点基础的人,这啥意思?一头雾水肯定,因为刚开始学也是这样;那我就用我理解的话来解释一遍吧;
简单的来说就是对一类东西的描述;用语言打个比方:身份证上有名字、出生年月、家庭住址、身份证号等信息,封装就是对一类东西的描述(这里是个人理解);
二、代码辅助理解
/**
* 人:对人的(封装)描述
*/
public class PeopleID {
/**名字*/
private String name;
/**出生年月*/
private Date birthday;
/**地址*/
private String address;
/**身份证号*/
private String id;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
2.优缺点
优点:
-
1. 良好的封装能够减少耦合。
-
2. 类内部的结构可以自由修改。
-
3. 可以对成员变量进行更精确的控制。
-
4. 隐藏信息,实现细节。
缺点:
就是每次在写一个对象的时候要写get、set方法但是这个确定也被lombok给优化了,加一个注解(不懂的记住就行先)就可以完全解决,看下面是不是减少很多代码
/**
* 人:对人的(封装)描述
*/
@Data
public class PeopleID {
/**名字*/
private String name;
/**出生年月*/
private Date birthday;
/**地址*/
private String address;
/**身份证号*/
private String id;
}