术语:如何在Java中谈论指针和引用

时间:2015-04-08 11:11:35

标签: java pointers reference terminology

我来自C / C ++。

我什么时候可以谈论Java中的指针?什么时候参考?我可以说类型Object的变量包含对某些数据的引用,即。到一个类的实例?这个变量指向一个类'实例?

如果Java总是按值复制,那么如果我将前面提到的变量传递给函数作为参数,当变量本身被复制时,它的内容仍然是对类实例的引用,因此通过任何实际意味着它不是真正的价值副本,因为类的实例没有被复制,但参考是,对吗?

在这种情况下,与C / C ++开发人员交谈时,Java开发人员会惹恼什么?

这在某种程度上难以形成问题,我希望我能够明白这一点。

更新重新表述:我是否可以使用我在学习C / C ++时学到的含义来充分讲述参考文献和指针,并放心Java开发人员正在采用我所投入的相同含义?

更新2 因此,假设“指针”这个词没有意义/不应该在Java中使用是正确的吗?

1 个答案:

答案 0 :(得分:0)

如果你第一次理解内存中的内容(Stack vs Heap)会更容易掌握,因为与C ++相比,你对内存管理的控制最小。一旦这样做了,就会更容易理解什么是价值和什么样的参考类型以及如何通过价值传递和通过参考作品传递。 Java严格按值传递,但并非每种数据类型都是值类型。我希望有所帮助。 这是一个好的开始: http://www.journaldev.com/4098/java-heap-memory-vs-stack-memory-difference