存儲引用和對象之間的區別?

阿裏雲問答 2022-01-07 16:51:35 阅读数:105

引用

存儲引用和對象之間的區別?

之間有什麼區別

Player player1 = new Player("John"); players[0] = player1;

和 players[0] = new Player("John");

根據我的理解,第一個存儲參考,第二個存儲對象。我錯了嗎?這有什麼不同嗎?哪個是更好的做法?


問題來源:stackoverflow




采納答案1:

對象在堆中複,引用在棧中 引用是對象的一個名字 如果你學過C/C++的話,可以將引用理解為java的指針

比如Student zhangSan=new Student("張三"); 後面new出來的制東西叫對象,這zhidao個zhangSan就是引用,zhangSan只是對象的地址而已。




采納答案2:

對於第一個,您正在存儲對的引用player 1。這使您可以靈活地在player 1引用數組中的任何方法之前調用存儲在其中的任何方法。第二個選項僅錶示該對象僅駐留在您的數組內,因此您必須直接調用一個方法,例如player[0].run()。

至於哪種更好的做法,則僅取决於您打算對該對象執行什麼操作。如果需要在創建數組中的引用之前對其進行修改,請使用第一個片段。如果只需要使用a實例化大量播放器對象,則只需使用for循環即可直接創建播放器數組。


答案來源:stackoverflow


版权声明:本文为[阿裏雲問答]所创,转载请带上原文链接,感谢。 https://gsmany.com/2022/01/202201071651345807.html