美文网首页java基础与进阶Java技术文章
Java中Void是基本类型吗?基本类型是8种还是9种?

Java中Void是基本类型吗?基本类型是8种还是9种?

作者: chenxuxu | 来源:发表于2016-03-23 16:00 被阅读585次

    我们在学Java的时候,老师或者一般的书上都写着,Java的基本类型有八种。分别是:byte、int、short、long、float、double、char、boolean。但是,今早我在看Java的圣经——《Thinking in Java》的时候,发现作者在说明数据类型的时候,把void也放上去了。这样就有九种了。百度了一下,有些书也是写的Java有九种基本类型。
    带着疑惑,我们先看看Java api的解释:
    对于byte、int、short、long、float、double、char、boolean这几个基本类型的解释,官方API都会带有primitive type两个单词,也就是基本类型的意思。

    aa (1).png

    然后,我们再看看Void类的解释。我把英文版本跟中文版本的图都显示,这样好看出是什么意思:

    ![bb1.png](http:https://img.haomeiwen.com/i1615230/c5e23adefd00d45b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

    在Java api中的解释,并未说明void是基本类型。那为什么Java圣经还有一些书籍都说,void是基本类型的一种呢?
    众所周知,Java的类型分成两种,一种是基本类型,一种是引用类型。两种的本质区别就是:基本类型是在堆栈处分配空间存“值”。但是引用类型,是在堆里面分配空间存“值”。Void是不能new出来,也就是不能在堆里面分配空间存对应的值。那就是一开始在堆栈处分配好空间了。所以,有些人将Void归成基本类型,也有道理。
    在面试,或者别人问到的时候,我觉得大家可以先说8种,然后再说,有些书籍比如《Thinking in Java》等等就将Void也划分进去,这样就算9种了。再说说为什么就行了~
    如若大家有什么不同理解的话,也可以评论中一起交流哈~

    相关文章

      网友评论

        本文标题:Java中Void是基本类型吗?基本类型是8种还是9种?

        本文链接:https://www.haomeiwen.com/subject/avnllttx.html