盲點:直接new一個對象 和 變量=new出來對象的區別

這幾天上課的時候遇到這樣一個疑問,爲什麼可以直接new一個對象,這樣說不太形象,舉個例子

People p1=new People();
new People();

這兩者有什麼區別嗎、爲什麼要這樣的?後來我查了查,總結了一下三點:
1.前者是創建對象,並把對象賦值給變量p1
後者只是創建了對象
2.因爲前者創建了變量p1,所以後續可以通過此變量對對象進行其他的操作
後者屬於匿名對象、臨時變量,只能在new的瞬間使用一次,過後就會被當成垃圾回收掉
3.舉個例子,借用上面的代碼,這個人有兩個方法,一個喫飯,一個睡覺

p1.sleep();
p1.eat();

new People().sleep();
new People().eat();

前者是指同一個人的喫飯和睡覺
後者是指不同人的睡覺和喫飯

簡單總結如上,初來乍到,請多多指

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章