类的实例是对象,要访问到类的成员,就必须通过类的实例(静态成员除外)。new在实例化中的作用是(此处暂不讨论继承中new隐藏基类的作用):创建对象和调用构造函数。以Car car=new Car()为例,此过程可分为两步:
(1)首先是声明类型为Car的变量car,此时会在栈中为car变量分配一个内存,并使用NULL初始化(引用类型一般初始化为NULL)。即为:Car car=null
( 2 ) 之后,new运算符真正派上用场,new先在堆中创建一个新的Car实例对象,调用了构造函数对该对象分配内存空间和对其初始化,之后将其引用赋予变量car,栈中的car变量指向新创建的实例对象。即为car=new Car();
另外,new运算符还用于调用值类型的默认构造函数,如在结构类型中除了显式的赋值外,还可以使用new运算符,让其默认构造函数为数据成员赋值