Java:基本类型及它们的封装类

Java中的基本数据有个8个包含byte(字节型)、short(短整型)、int(整型)、long(长整型)、float(浮点型)、double(双精度浮点型)、boolean(布尔类型),char(字符型),不能直接当作对象使用

下列为对应封装类型:

数据类型名称 占用字节 默认值 封装类
byte(字节型) 1 0 Byte
short(短整型) 2 0 Short
int(整型) 4 0 Integer
long(长整型) 8 0l Long
float(浮点型) 4 0.0f Float
double(双精度浮点型) 8 0 Double
boolean(布尔类型) 1 true/false Boolean
char(字符型) 2 \u0000 Character

java是一种面向对象的语言,基本数据类型很显然不及备面向对象的条件。Object 类是所有类的父类,而且是唯一不用指定明确继承的类。例如基本类型如 int 不是引用类型,也不是继承自 Object,所以 Java 需要一个这样的包装类来使其面向对象的完整性。

一、为什么使用包装类? 

a、作为 和基本数据类型对应的类 类型存在,方便涉及到对象的操作。
b、包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法。

包装类可以完成自动拆箱装箱,将基本类型的数据转换为引用类型数据,为装箱。反之则为拆箱

二、包装类与基本数据的不同之处 

1、在Java中,一切皆对象,但八大基本类型却不是对象。

2、声明方式的不同,基本类型无需通过new关键字来创建,而封装类型需new关键字。

3、存储方式及位置的不同,基本类型是直接存储变量的值保存在堆栈中能高效的存取,封装类型需要通过引用指向实例,具体的实例保存在堆中。

4、初始值的不同,封装类型的初始值为null,基本类型的的初始值视具体的类型而定,比如int类型的初始值为0,boolean类型为false;

5、使用方式的不同,比如与集合类合作使用时只能使用包装类型。

6、什么时候该用包装类,什么时候用基本类型,看基本的业务来定:这个字段允不允许null值,如果允许null值,则必然要用封装类,否则值类型就可以了,用到比如泛型和反射调用函数.,就需要用包装类! 

你可能感兴趣的:(Java,Java基础,java,开发语言)