封装
在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。
封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。
要访问该类的代码和数据,必须通过严格的接口控制。
封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。
适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。
封装的优点
-
良好的封装能够减少耦合。
-
类内部的结构可以自由修改。
-
可以对成员变量进行更精确的控制。
-
隐藏信息,实现细节。
lombok实现自动封装
Lombok是一个通过注解以达到减少代码的Java库,如通过注解的方式减少get,set方法,构造方法等。
maven的pom.xml中添加依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
</dependency>
lombok的@Data注解,相当于同时加上以下注解:@Setter @Getter,@ToString,@EqualsAndHashCode
@AllArgsConstructor
@NoArgsConstructor
@Data
public class Message {
private Integer id;
private Integer organizationId;
private String name;
private String description;
private Integer status;
private Date createTime;
private Date lastModifyTime;
}
@Getter,@Setter相当于自动添加相应代码
public String getId() {
return id;
}
public void setId(int id) {
this.id = id;
}