A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

使用new关键字实际上做了三件事情:

1. 与堆栈(栈)处分配一个存储空间保存引用(固定的指针)。

2. 与堆区分配一片内存空间保存相应类的对象(引用数据类型的对象,如:数组、对象等)。

3. 将堆区对象的首地址赋予栈区引用。

举个例子:
Student stu;
stu = new Student();

在java中变量保存在栈内存中,对象保存在堆内存中。

在上面的例子,执行语句Student stu;
表示声明一个指向Student类对象的引用stu,这个引用stu保存在栈内存中。

如果此时执行语句:
stu = new Student();

1、new Student()表示创建一个Student类的对象,并在堆内存中分配空间;
2、stu = new Student();表示让stu这个引用变量指向这个Student类对象。


注意:使用 new 关键字时会调用类中的构造方法,对于有父类的类会首先调用其父类的构造方法。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马