java 封装是什么?

Python012

java 封装是什么?,第1张

什么是封装?

在定义类的时候,如果可以直接修改类中的字段那么就可能会出现以下的情况,age可以设置成1000,score可以设置为10000

所以就引出了封装的概念,那么什么是封装呢或者说封装可以实现那些目的

封装可以隐藏实现的细节

让使用者只能通过实现写好的访问方法来访问这些字段,这样一来我们只需要在这些方法中增加逻辑控制,限制对数据的不合理访问、

方便数据检查,有利于于保护对象信息的完整性

便于修改,提高代码的可维护性

为了实现良好的封装,需要从两个方面考虑

把字段(成员变量)和实现细节隐藏起来,不允许外部直接访问

把方法暴露出来,让方法控制这些成员变量进行安全的访问和操作

因此,封装就有两个含义:把该隐藏的隐藏起来,把该暴露的暴露出来。

JAVA中常用的封装方式有以下几种:

1 、Boolean VS boolean

public final class Boolean extends Object  implementsSerializable,Comparable

Boolean 类将基本类型为boolean的值包装在一个对象中。一个Boolean类型的对象只包含一个类型为boolean的字段。此外,此类还为boolean和String的相互转换提供了许多方法,并提供了处理 boolean时非常有用的其他一些常量和方法。

2、 Byte VS byte

public final class Byte extends Number implements Comparable

Byte类将基本类型 byte的值包装在一个对象中。一个Byte类型的对象只包含一个类型为 byte的字段。此外,该类还为 byte和 String的相互转换提供了几种方法,并提供了处理 byte时非常有用的其他一些常量和方法。

3、 Character VS char

public final class Character extends Object  implements Serializable, Comparable Character类在对象中包装一个基本类型char的值。       Character类型的对象包含类型为char的单个字段。此外,该类提供了几种方法,以确定字符的类别(小写字母,数字,等等),并将字符从大写转换成小写,反之亦然。

4 、Double VS double

public final class Double extends Number implements Comparable Double类在对象中包装了一个基本类型double的值。每个Double类型的对象都包含一个double类型的字段。此外,该类还提供了多个方法,可以将double转换为String,将String转换为double,还提供了其他一些处理double时有用的常量和方法。

封装是将对象的信息隐藏在对象内部,禁止外部程序直接访问对象内部的属性和方法。\x0d\x0ajava封装类通过三个步骤实现:\x0d\x0a\x0d\x0a(1)修改属性的可见性,限制访问。\x0d\x0a(2)设置属性的读取方法。\x0d\x0a(3)在读取属性的方法中,添加对属性读取的限制。