首页 > 代码库 > java特性之封装
java特性之封装
Java有三大特性:封装,继承,多态,这是java这门语言的核心 。在java的学习中,我们一定听过“一切皆对象 ”,简单来说就是一个一个的java类,有的java类是用来描述对象的一些属性的,如ssh,ssm中的实体类 ,还有的是用来和页面进行交互的,如servlet。其实这些对象在程序中可以理解为一个个基础的模块 ,这些模块分工不同,功能不同。Java是面向对象的,就说它是面向一个个单独的模块的,在java程序中,其实就和组装电脑是一样的,用那种型号的cpu,显卡,主板,去相应的硬件模块进行选择就行了,简单来说这就是java的面向对象 。封装就相当于封装这里我说的硬件模块,把硬件模块里面的细节隐藏起来,别人不知道硬件是怎么样实现对应功能。
封装的好处:
1.可以让程序更加安全,封装之后,外部无法直接访问对应的模块,必须通过该模块的接口访问。
2.可以降低程序间的耦合,封装的目的就是让其成为一个独立的模块,模块之间的相互独立耦合肯定降低。
3.隐藏内部实现细节,通过权限访问修饰符控制类的细节与外界隔离起来,从而实现数据项和方法的隐藏,而要访问这些数据项和方法唯一的途径就是通过类本身,类才有资格调用它所拥有的资源(方法,数据项属性等等)。
package com.hulian.entity;
/**
* Created by ethan on 2017/5/24.
*/
public class CPU {
//将属性私有化
private Integer temp;
private String type;
//对外开放的访问接口
public Integer getTemp() {
return temp;
}
public void setTemp(Integer temp) {
this.temp = temp;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}
这是一个常见的封装,将cpu的温度,和型号 私有化,对外提供访问接口,在这里可以更加灵活的控制对外访问的接口,cpu的type是出厂就有的,可以将type的setter接口取消,只保留getter接口。我们还可以给CPU 设置温度的范围:
package com.hulian.entity;
/**
* Created by ethan on 2017/5/24.
*/
public class CPU {
//将属性私有化
private Integer temp;
private String type;
//对外开放的访问接口
public Integer getTemp() {
return temp;
}
public void setTemp(Integer temp) {
if (temp>100||temp<-50){
System.out.println("cpu 不能工作 ");
}
this.temp = temp;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}
可以看出我们可以对属性进行精确的控制。还可以对属性进行转换,比如在设置性别的时候讲传入的short类型的0,1转出String类型的男女。
java特性之封装