当前位置: 首页 > 面试题库 >

Java中的引用到底是什么?

终翔
2023-03-14
问题内容

Java中的引用到底是什么?它是一个内存地址吗?Java引用等同于取消引用的C ++指针吗?

换句话说,给出以下内容:

Object o1 = new Object();
Object o2 = new Object();

o1 == o2

上面的比较是否等同于比较C ++中的两个指针?


问题答案:

o1 == o2 相当于在C / C ++中比较两个指针,是的。

但是,Java中的引用和C / C ++中的指针之间有两个非常重要的主要区别:

  • Java引用无法执行指针算术:不能将3引用“加”, 只能 使其指向另一个(已知)对象
  • Java引用是严格类型的:您不能“重新解释”引用另一端的内容, 除非 您将其重新解释 为该对象实际上是 的类型。

关于“引用”一词的简短说明:C 的引用与C中的指针和Java中的引用的行为有很大不同(但是我对C 的了解还不足以告诉您具体细节)。

有关此问题的详细讨论,请参阅有关programmers.SE的相关问题。



 类似资料:
  • 本文向大家介绍Java中的Null到底是什么,包括了Java中的Null到底是什么的使用技巧和注意事项,需要的朋友参考一下 前言 对于Java程序员来说,null是令人头痛的东西。时常会受到空指针异常(NPE)的骚扰。连Java的发明者都承认这是他的一项巨大失误。Java为什么要保留null呢?null出现有一段时间了,并且我认为Java发明者知道null与它解决的问题相比带来了更多的麻烦,但是n

  • 问题内容: 我从事Java SE已有数年了,然后转向Java EE。但是,在理解Java EE的某些方面时遇到一些麻烦。 Java EE只是一个规范吗?我的意思是:是EJB Java EE吗? EJB / Spring是否是Java EE的不同实现? 抱歉,我很难理解Java EE是什么。 有人可以解释一下Java EE是什么吗?和EJB? 问题答案: Java EE只是一个规范吗?我的意思是:是

  • 以下构造的确切含义是什么:? 起初,我认为将表示对为类定义的静态类变量的访问,但如果确实如此,那么下面的赋值应该是可能的: 的真正含义是什么?它是静态类变量吗?它是Java特殊构造吗?

  • 标记接口是一个没有任何成员的接口。可序列化就是一个例子。 我们可以定义自己的标记界面吗。如果是,我们如何定义它的功能。?

  • 问题内容: 我对Java非常陌生,只想确认是什么?它类似于Float还是Int?任何帮助,将不胜感激。我有时还会看到大写字母,有时看到的是小写字母。如果有人可以弄清楚这意味着什么,那就太好了! 问题答案: Double是包装器类, Double类将原始类型double的值包装在对象中。类型为Double的对象包含单个类型为double的字段。 此外,此类提供了几种将double转换为String和

  • 本文向大家介绍Javascript中的Prototype到底是什么,包括了Javascript中的Prototype到底是什么的使用技巧和注意事项,需要的朋友参考一下 Javascript也是面向对象的语言,但它是一种基于原型Prototype的语言,而不是基于类的语言。在Javascript中,类和对象看起来没有太多的区别。 什么是prototype: function定义的对象有一个proto