Java中的原始数据类型与对象数据类型
原始数据类型 :在 Java 中,原始数据类型是 Java 的预定义数据类型。它们指定任何标准值的大小和类型。Java 有 8 种原始数据类型,即 byte、short、int、long、float、double、char 和 boolean。当存储原始数据类型时,将为堆栈分配值。复制变量时,会创建该变量的另一个副本,并且对复制的变量所做的更改不会反映原始变量中的更改。这是一个演示 Java 中所有原始数据类型的 Java 程序。
对象数据类型 :这些也称为非原始或参考数据类型。它们之所以被称为是因为它们指代任何特定的对象。与原始数据类型不同,非原始数据类型由 Java 用户创建。示例包括数组、字符串、类、接口等。当引用变量将被存储时,变量将存储在堆栈中,原始对象将存储在堆中。在 Object 数据类型中,虽然将创建两个副本,但它们都将指向堆中的同一个变量,因此对任何变量所做的更改都将反映两个变量的更改。这是一个 Java 程序,用于演示 Java 中的数组(一种对象数据类型)。
Java中原始数据类型和对象数据类型的区别:
现在让我们看一个演示 Java 中原始数据类型和对象数据类型之间区别的程序。
运行结果:
下面以表格的方式来看看原始数据类型和对象数据类型之间的区别。
属性 | 原始数据类型 | 对象数据类型 |
---|---|---|
来源 | 预定义数据类型 | 用户定义数据类型 |
存储结构 | 存储在堆栈中 | 引用变量存储在堆栈中,原始对象存储在堆中 |
复制时 | 创建了两个不同的变量以及不同的赋值(只有值相同) | 创建了两个引用变量,但都指向堆上的同一个对象 |
在复制的变量中进行更改时 | 更改不会反映在原始变量中。 | 变化反映在原来的。 |
默认值 | 原始数据类型没有 null 作为默认值 | 引用变量的默认值为 null |
示例 | byte、short、int、long、float、double、char | 布尔数组、字符串类、接口等。 |