二、Java面向对象(13)_基本类型包装类

2018-05-03

基本类型包装类

一、装箱和拆箱

虽然 Java 语言是典型的面向对象编程语言,但其中的八种基本数据类型并不支持面向对象编程,基本类型的数据不具备“对象”的特性——不携带属性、没有方法可调用。 沿用它们只是为了迎合人类根深蒂固的习惯,并的确能简单、有效地进行常规数据处理。

这种借助于非面向对象技术的做法有时也会带来不便,比如引用类型数据均继承了 Object 类的特性,要转换为 String 类型(经常有这种需要)时只要简单调用 Object 类中定义的toString()即可,而基本数据类型转换为 String 类型则要麻烦得多。为解决此类问题 ,Java为每种基本数据类型分别设计了对应的类,称之为包装类(Wrapper Classes),也有教材称为外覆类或数据类型类。

基本数据类型及对应的包装类
基本数据类型 对应的包装类
byte Byte
short Short
int Integer
long Long
char Character
float Float
double Double
boolean Boolean


每个包装类的对象可以封装一个相应的基本类型的数据,并提供了其它一些有用的方法。包装类对象一经创建,其内容(所封装的基本类型数据值)不可改变。

-------------------------------------------------------------------------------------------------------------

装箱:把基本数据类型转成对应的包装对象。

拆箱:把包装类对象转成对应的基本数据类型。

自动装箱:可把一个基本类型变量直接赋给对应的包装类变量。

自动拆箱:允许把包装类对象直接赋给对应的基本数据类型变量。

自动装箱和拆箱是编译器级别的一个新特性,在底层依然是手动装箱和拆箱。

-----------------------------------------------------------------------------------------------------------

switch语句支持的数据类型:byte,short,chart,int与此同时也支持对应的包装类。为何?

  因为在底层,switch中会对包装类做手动拆箱操作。

---------------------------------------------------------------------

Object可以接受一切数据类型的值。

参考:https://www.cnblogs.com/ok932343846/p/6749488.html

--------------------------------------------------------------------------------------------------

猜你喜欢

转载自www.cnblogs.com/sunNoI/p/8984967.html