-10
我一直在想 Classname ob;爲什麼需要 Classname ob = new classname(); In java爲什麼需要java中的新操作符,但不是在C++中
我一直在想 Classname ob;爲什麼需要 Classname ob = new classname(); In java爲什麼需要java中的新操作符,但不是在C++中
C++和Java有類似的語法,但並不總是意味着相同。
在Java中,所有對象都是引用,所以當你在做Classname obj;
時,你正在創建一個對象的空引用,所以你需要給它指定一些東西。
Classname obj;
//here obj is pointing to nothing.
obj = new Classname();
//here obj is pointing to a new Classname object
同樣的行爲可以用C++的指針
Classname* obj;
//here obj is pointing to nothing.
obj = new Classname();
//here obj is pointing to a new Classname object
現在,Classname obj;
在C++中有很大的不同來完成。它在堆棧中創建對象,簡而言之,該對象的行爲與基本類型(int,bool,float等)類似。這種行爲在Java中不受支持,因爲它是垃圾收集性質。
因爲它們是不同的語言。 – marcellothearcane
Javascript和Java不一樣!而且你正在比較兩種截然不同的語言,它們的唯一通用性就是語法。 –
@Someprogrammerdude Java和JavaScript在語法上沒有共同之處ಠ_ಠ –