java三大特征之封装

来源:互联网 发布:java 泛型和通配符 编辑:程序博客网 时间:2024/06/06 01:41

java三大特征之封装


封装:

以前老是听说封装隐藏内部细节,提高了程序的安全性,可是没有能够理解,然后在网上查看了很多资料,才慢慢理解!所谓封装就是隐藏,包装,将数据保存到一个公共方法中,不允许直接访问其内部信息,只提供public修饰的方法进行访问;而且需要的类属性都被修饰为private(私有的)!


现实例子:封装相当于支付宝(第三方),当你卖货之后会把钱先打到支付宝,不给买家,是为了防止买家收到钱后不发货,欺骗消费者,支付宝起到了一个中介的作用,当我们收到货后付款后,钱才会打到买家的手中!封装也是如此,以前类属性被修饰为public后,new一个类,然后类打点就可以看到属性,可以随意修改属性,现在有了封装之后,类名打点后只能看到被封装后的方法名而看不到方法中的具体实现,这样就起到保障程序安全的作用,不允许直接访问,而是提供相应的方法进行访问,因此可以把封装看成是一个中介,第三方支付宝!


代码例子

package com.test.entity;

public class Domo01 {

//将属性定义为private私有的

private Stringname;

private Stringpwd;

//使用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 Stringname;

public Stringpwd;

}


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";

}

}