我从事Java编程已有2年了,显然我遇到了一个问题,无法再次理解和区分类,引用和对象(我不明白为什么我忘记了这些概念)。
让我们来解决这个问题,尽管我已经知道对象是什么,但是我不确定类或引用是否相同。
有人可以很好地理解并且完整地区分什么是类,引用和对象吗?
我所知道的是,该类更像是对象的模板(房屋的蓝图,其中类是蓝图,而房屋是一个对象)。
如果你喜欢隐喻:
在Java中,你不能直接访问对象,只能使用引用。Java不会相互复制或分配对象。但是你可以复制引用并将其分配给变量,以便它们引用同一对象。Java方法始终是按值传递的,但是该值可以是对象的引用。所以,如果我有:
Foo myFoo = new Foo(); // 1 callBar(myFoo); // 2 myFoo.doSomething() // 4 void callBar(Foo foo) { foo = new Foo(); // 3 }
然后,让我们看看发生了什么。
整个序列如下所示: