0
点赞
收藏
分享

微信扫一扫

面试题支招:Java基本类型和引用类型有哪些区别?

大力:“基本类型与引用类型有什么区别?”

卫琴:“概括起来,两者有三个区别。掌握了这三个区别,就会对这两种Java类型的本质一目了然。”

面试题支招:Java基本类型和引用类型有哪些区别?_类类型

区别一:基本类型只表示数据,而引用类型(数组类型除外)所引用的对象除了表示数据,还可以拥有方法。

下面以double基本类型和Double类类型为例,来解释这两者的区别。类类型是引用类型的一种。

double基本类型仅仅表示基本的浮点型数据,而Double是一种类类型,它不仅能表示一个浮点型数据,而且还具有各种各样的方法。例如:

//定义一个double基本类型变量v1,并为它赋值
double v1=12.4;  
//定义一个Double类类型的变量v2,并使它引用一个表示12.4的Double对象
Double v2=new Double(12.4);    
//调用v2变量所引用的Double对象的intValue()方法
int v3=v2.intValue();   //v3=12

在以上代码中,v1是double基本类型,v2是Double类类型,可以通过v2.intValue()的形式,来访问它的intValue()方法,该方法返回浮点数的整数值,v3变量的取值应该是12。

区别二:基本类型的种类固定,而类类型的种类可以无限扩充

基本类型的种类是JDK内置并且固定的,一种只有八种。而在Java类库中提供了许多类类型。为了便于组织这些类,JDK把这些类放在不同的包中,主要包括:java.lang包、java.io包、java.util包、java.awt包、javax.swing包和java.sql包等。Double类就位于java.lang包中。

另外,类类型允许开发人员随意扩充,自行定义,例如Calculater类就是开发人员自己定义的一种类类型。

区别三:基本类型表示简单的数据结构,而类类型可以表示复杂的数据结构

基本类型可以表示数字和字符等简单数据,而类类型可以灵活地表示各种复杂的数据结构,例如以下Dog类中包含了String类型、int类型和char类型的数据:

public class Dog{
  String  name;  //表示狗的姓名
  int age;   //表示狗的年龄
  char gender;  //表示狗的性别。‘M’表示雄性,‘F’表示雌性
  ……
}

面试题支招:Java基本类型和引用类型有哪些区别?_java_02

基本类型数据组装成对象

上文参考孙卫琴的经典Java书籍《Java面向对象编程》

面试题支招:Java基本类型和引用类型有哪些区别?_基本类型_03

 


举报

相关推荐

0 条评论