构造函数和new运算符在Java中

12 浏览
0 Comments

构造函数和new运算符在Java中

在Java中,要从类Student创建一个新对象,通常使用以下语句:\n

Student std = new Student();

\n我读到过,new操作符通过在堆中分配内存空间来创建新对象,但我也读到过调用构造函数Student()来创建它。\n所以,有点困惑。是new操作符还是默认构造函数创建了对象std

0
0 Comments

原因:在Java中允许有与类名相同的方法名,但这可能导致混淆。为了消除歧义,使用new操作符。new操作符告诉JVM应该调用给定类和参数列表的实例初始化方法,并返回初始化的对象。

解决方法:Java的设计者可能可以找到一种替代的语法,但他们的设计目标是,每当在堆上分配内存时,都需要显式地调用出来,这要求使用关键字new。这在现在可能看起来很奇怪,但Java的目标受众大多是C和C++程序员,他们对垃圾回收持怀疑态度,这样做是为了确保开发人员不会在不知情的情况下分配内存。

0