java 里面new关键字到底起什么作用啊????

java编程时new对于内存的分配起了什么影响??
不同的内存分配对程序又有什么影响??
小弟刚学请高手指教。
只要对类或方法进行调用不管在那都要先new一下么????????
有没有例外的,
为什么????????

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

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

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

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

注意:使用 new 关键字时会调用类中的构造方法,对于有父类的类会首先调用其父类的构造方法。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-10-04
举个例子:
Student stu;
stu = new Student();

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

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

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

1、new Student()表示创建一个Student类的对象,并在堆内存中分配空间;
2、stu = new Student();表示让stu这个引用变量指向这个Student类对象。
第2个回答  推荐于2017-11-24
java中的内存分配是对用户透明的,也就是所有的内存分配回收不用你来处理,而是由java虚拟机来操作。
new关键字的作用就是在你声明了一个对象后,给对象分配相应内存。
我也是刚开始学,有什么问题一块探讨。本回答被提问者采纳
第3个回答  2007-10-03
New就是在Heap内存中分配一块内存空间,Stack中的引用指向它。
第4个回答  2007-10-05
实例化一个对象
对,没错

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网