java中的数据类型以及对应的封装类

基础类型和封装类

Posted by t298 on June 1, 2020

java中的数据类型和对应的封装类:

基本类型 大小
(字 节)
默认值 封装类 最小值 最大值
byte 1 0 Byte -128(-2^7) 127(2^7-1)
short 2 0 Short -32768(-2^15) 32767(2^15-1)
int 4 0 integer -2147483648(-2^31) 2147483647(2^31-1)
long 8 0L Long -9223372036854775808(-2^63) 9223372036854775808(-2^63-1)
float 4 0.0f Float - -
double 8 0.0d Double - -
boolean - false Boolean - -
char 2 \u0000(null) Character \u0000(0) \uffff(65536)

封装类

在面向对象程式设计方法中,封装(Encapsulation)是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。

封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。

要访问该类的代码和数据,必须通过严格的接口控制。

封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。

适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。

注意:String也是一个单独的封装类。

为什么要使用封装类?

  • 某些情况下,数据必须作为对象出现,此时必须使用封装来将简单类型封装成对象。

    比如,我们想使用List来保存数值,由于List中只能添加对象,因此,我们就需要将数据封装到封装类在加入List。在jdk5后,我们可以简写成list.add()的形式,但添加的数据依然是封装后的对象。

  • 某些情况下,使用封装类使我们可以更加方便的操作数据。

    比如封装类具有一些基本类型不具备的方法,toString(),valueOf()等等。

封装的优点

  • 良好的封装能够减少耦合。
  • 类内部的结构可以自由修改。
  • 可以对成员变量进行更精确的控制。
  • 隐藏信息,实现细节。

基本数据类型和封装类的本质不同:

  • 基本数据类型只能安值传递,封装类安引用传递。
  • 基本类型在堆栈中创建(效率高,但可能有内存泄漏问题);对象类型,对象在堆中创建,对象的引用在堆栈中创建。