在学习java时,一般会学到 java 中的 基本数据类型为 四类八种 .
整数类型 : byte short int long
浮点型 : double float
布尔类型 : boolean
字符类型 : char
但是在学习《Thinking in java》时, 书中有 9 中基本数据类型的说法 . 加入了 void .
下面来解释一下为什么会将 void 当为第 9 种基本数据类型:
在 Java 中,类型的分类有两种,一种是基本类型,一种是引用类型。两者的区别本质上在于:
基本类型 : 在JVM的栈中分配空间存“值”。
引用类型 : 在堆里面分配空间存“值”。
Void是不能new出来的( 因为 Void 的源码中,将构造函数设置为 private 的,所以外部不能 new 对象 ),因此不能在堆里面分配空间存对应的值。那就是一开始在堆栈处分配好了空间。所以,将Void归成基本类型,也是有一定道理的。