java三大特征之封装
封装:
以前老是听说封装隐藏内部细节,提高了程序的安全性,可是没有能够理解,然后在网上查看了很多资料,才慢慢理解!所谓封装就是隐藏,包装,将数据保存到一个公共方法中,不允许直接访问其内部信息,只提供public修饰的方法进行访问;而且需要的类属性都被修饰为private(私有的)!
现实例子:封装相当于支付宝(第三方),当你卖货之后会把钱先打到支付宝,不给买家,是为了防止买家收到钱后不发货,欺骗消费者,支付宝起到了一个中介的作用,当我们收到货后付款后,钱才会打到买家的手中!封装也是如此,以前类属性被修饰为public后,new 一个类,然后类打点就可以看到属性,可以随意修改属性,现在有了封装之后,类名打点后只能看到被封装后的方法名而看不到方法中的具体实现,这样就起到保障程序安全的作用,不允许直接访问,而是提供相应的方法进行访问,因此可以把封装看成是一个中介,第三方支付宝!
代码例子:
package com.test.entity;
public class Domo01 {
//将属性定义为private私有的
private String name;
private String pwd;
//使用getter和setter方法进行封装
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
创建一个测试类,当new一个新类Domo01 后打点后出现了封装的方法,而开不到具体的实现!如下图:
在测试类中操作:
package com.test.entity;
//测试类
public class testDome01 {
//主方法
public static void main(String[] args) {
//new 一个domo类
Domo01 domo=new Domo01();
//封装后只提供封装的方法进行赋值和得到值从而提高了安全性
domo.setName("张三");
domo.getName();
}
}
如果不用封装:
package com.test.entity;
public class Domo01 {
//将属性定义为public
public String name;
public String pwd;
}
当new一个类后,可以直接看到里面的属性,并对属性进行操作,安全性降低了!
在测试类中操作:
package com.test.entity;
//测试类
public class testDome01 {
//主方法
public static void main(String[] args) {
//new 一个domo类
Domo01 domo=new Domo01();
//可以对里面的属性进行任意赋值操作安全性降低了
domo.name="张三";
domo.pwd="123";
}
}