[英]Why is it important to understand the difference between reference types and primitive types in Java?
我列出了Java中的一些问题,这些问题如果不先了解它们之间的区别就无法正确理解。
例如:
还有吗
编辑:这个问题似乎对人们没有意义。 其背后的动机是,我作为初学者学习Java的经历是,例如,两者之间的区别:
int i = 1;
和
Set<Thing> set = new Set<Thing>();
并不明显 。 现在,我知道一旦您选择使用Java,就可以认为它是理所当然的,不要去想它,但是我坚持认为,这是初学者难以克服的事情,特别是如果他们不是来自编程背景的话。 我认为这是在教授Java时经常需要解决的问题。
编辑:仍然没有好处。 随时关闭。
我认为最重要的一点是要理解Java中的引用不包含对象本身,而仅包含实际对象本身的地址(或指针或任何您想调用的对象)。 因此,至关重要的是要了解您总是有两件事:
如果您了解此关键概念,则==之类的内容就很容易理解,因为现在您知道您只是在比较引用而不是对象。
总结:在教授如何使用对象之前,请先解释一下对象及其引用之间的区别。
我认为您的问题是-如果您要向某人解释Java功能,那么为了获得更好的解释,您需要将其与其他功能进行比较。
例如,
== VS .equals()
这样我想-
这是您要找的东西吗?
我同意Benedikt Eger的观点,即引用和对象之间的关系是最重要的理解概念。
对于您的问题列表:“ =”运算符有时可能会引起人们的困惑,因为对于初学者而言,它似乎可以“复制”基元,但可以“共享”对象。 Java中的问题比C ++中的问题少得多,因为“ =” 永远不会复制对象(Java不会将对象放在堆栈上)。 但是,我见过“ =”使初学者失望,尤其是当他们认为“ =”会创建数组的重复副本时。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.