-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在语法上没有共同之处ಠ_ಠ –