日期:2014-05-20  浏览次数:20738 次

面向对象程序设计的程序设计中new的理解
我想问一下在java的面向对象程序设计中在一个类被new了之后会做些什么事情?比如:
Student s=new Student在这个过程中做了些什么事情?

------解决方案--------------------
首先会向堆申请内存空间,然后初始化对象(调用初始化块代码,然后调用构造方法)
LZ可以反编译看一下系统指令
javap -verbose xxx
看看new的地方会调用哪些指令


------解决方案--------------------
网上很多介绍了。。。
1、Student s 声明一个对象
2、new Student 声明一片内存空间的引用(分配空间、初始化)
3、= 把引用赋给s

差不多这些了,更具体的网上找找吧。。。
------解决方案--------------------
上述语句是一个声明,
该声明,首先声明一个叫s的类Student类型的变量,该变量没有定义对象,它只是一个可以引用Student对象的变量,它本身不是对象。。 

第二,声明创建了类Student对象的一个实际副本,并把对象引用赋给s.

new运算符 是对象动态分配内存,并返回一个对它的引用。

该引用是由new分配的对象内存的地址,然后把引用存储在变量中。