当前位置: 首页 > 知识库问答 >
问题:

对象类型和引用类型之间的差异

司空丰
2023-03-14

我在研究“头先Java”中的多态性,并由此产生了这个概念。谁能举个例子解释一下吗?

编译器检查引用类型的类,而不是对象类型。

那么引用类型和对象类型之间有什么区别呢?

共有2个答案

杜俊楚
2023-03-14

这些术语的含义如下:

  • 对象类型(在书中)=引用对象的实际运行时类型

也许有些人会发现这些术语更容易理解。

罗茂实
2023-03-14

我不认为他们对“对象类型”和“引用类型”的使用是标准化的,但这是我的解释。

考虑这个代码:

Object o = new Integer(3);

参考o的类型为Object。它引用的对象的类型为Integer

因此,“参考类型”将是对象,“对象类型”将是整数

让人困惑的是,(标准化的,官方的)术语“引用类型”封装了可以引用的类型。在Java中,它包括所有类、枚举、接口和数组。它只排除基本类型(int,…)。

 类似资料:
  • 问题内容: 我从“ Head First Java”学习“多态”,然后想到了这个概念。有人可以举例说明吗? 编译器检查引用类型的类,而不是对象类型。 那么引用类型和对象类型之间有什么区别? 问题答案: 我认为它们对“对象类型”和“引用类型”的使用不是标准化的,但这是我的解释。 考虑以下代码: 该 引用 是类型的。它引用的 对象 是类型。 因此,“引用类型”为,“对象类型”为。 造成这种混乱的原因是

  • 本文向大家介绍js对象类型,基本对象类型以及引用对象类型的区别?相关面试题,主要包含被问及js对象类型,基本对象类型以及引用对象类型的区别?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 分为基本对象类型和引用对象类型 基本数据类型:按值访问,可操作保存在变量中的实际的值。基本类型值指的是简单的数据段。基本数据类型有这六种:undefined、null、string、number、bool

  • 问题内容: 在Java中,序列化对象非常容易。在C 中 ,只要对象像C结构一样就安全(?)(无多态性)。在C 中, 如果编译器能够生成默认的(琐碎的)复制构造函数,那么为什么它不能生成用于自动序列化的代码? 在Java中,只能从ctor访问静态函数和数据成员。 在C ++中,我可以愉快地使用ctor中的非静态成员和函数。 在Java中,我可以在类中内联初始化数据成员。在C ++中,这是一个编译错误

  • Date类型的创建 创建时间对象是由关键字new和构造函数Date()来创建的。 var d = new Date(); Date()中保存的是从1979年1月1日零时开始经过的毫秒数,再划分为年/月/日/时/分/秒/毫秒、周。 在调用Date()函数而不传入参数的情况下,将自动获得当前的日期和时间, var d = new Date(); document.write(d); //Fri Ma

  • 函数的创建方法 函数也是对象,每个函数是Function类的一个实例,函数是对象,因此函数名就是指向函数对象的指针,函数的定义常见的有两种: 1、使用关键字function声明,也就是 函数声明。 function sum (num1, num2) { return num1 + num2; } 2、将匿名函数赋值给一个变量,也就是 函数表达式。 var sum = function (n

  • Array类型 数组是除了Object之外最常用的数据类型,javascript中的数组可以保存任何类型的数据,如:第一个位置可以保存数字,第二个位置可以保存字符串,第三个位置可以保存对象等。数组的长度(大小)随着数据的新增加而自动增大。 数组的创建 数组的创建如果细致分的话,可以分为5种方法, 第一种是通过关键字new后跟构造函数Array()创建: var arr1 = new Array()