Java是一门面向对象的语言,即一切皆是对象!那么为何数据类型中还分为:基本类型和对象?
Java中有8种基本数据类型boolean、byte、short、char、int、flaot、long、double,基本数据类型作为Java语言的一部分,但基本数据类型不是对象,基本数据类型放在堆栈中,对象放在堆中。堆的读写速度远不及栈,如果使用基本数据类型相当于在栈上进行操作,对变量的创建和销毁速度非常快。相反,如果用类进行定义变量,需要在堆中进行操作,创建和销毁速度都比较慢。
出于性能方面的考量,为了提高性能这样做是合理的。但有些地方必须用到对象,基本数据类型不是对象,怎么办呢?Java针对每种基本数据类型提供了包装类,即Boolean、Byte等。这样就解决了基本数据类型面向对象用的问题。
同时,也正是包装类的使用,说明Java是一种纯OO的语言。