首页 理论教育 如何在Java程序中创建对象

如何在Java程序中创建对象

时间:2023-11-01 理论教育 版权反馈
【摘要】:在Java程序中,创建对象分为如下两步:1.声明一个引用变量声明一个类的引用变量,语法格式为:例如,声明一个MyCircle2类的对象名称c1,代码如下:2.实例化一个对象使用new关键字在堆内存创建一个对象并调用构造方法初始化,最后将对象的地址赋值给引用变量。根据MyCircle2类定义,编写测试用例来创建对象,分别调用无参构造方法和有参构造方法。新创建MyCircle2类对象的radius变量被默认初始化为0.0d。

如何在Java程序中创建对象

前面说过,类是创建对象的模板,设计出了类还远远不够,还需要根据类来创建实例对象。在Java程序中,创建对象分为如下两步:

1.声明一个引用变量

声明一个类的引用变量,语法格式为:

例如,声明一个MyCircle2类的对象名称c1,代码如下:

2.实例化一个对象

使用new关键字在堆内存创建一个对象并调用构造方法初始化,最后将对象的地址赋值给引用变量。语法格式为:

例如:

上面代码表示创建一个MyCircle2类的实例对象,并将该对象在内存中的地址赋值给变量c1。

以上两步可以合并为一条语句,语法格式为:

例如:

(www.xing528.com)

注意:

每实例化一个对象,就会在堆内存中生成一个对象。

【例3-3】

根据MyCircle2类定义,编写测试用例来创建对象,分别调用无参构造方法和有参构造方法。

My Circle2Test1测试类源代码如图3-5所示。

图3-5 创建对象演示

下面以程序第7行“My Circle2 c2=new MyCircle2(2.5);”来大致说明系统创建对象所做的工作:

(1)系统在栈内存中声明一个My Circle2类型的引用变量c2,这是一个局部变量

(2)在堆区为实例对象分配内存。

(3)将方法区内对实例变量的定义拷贝一份到堆区(不包括任何静态变量),然后赋默认值。新创建MyCircle2类对象的radius变量被默认初始化为0.0d。

(4)执行实例初始化代码。如果变量定义时有赋值,对实例变量执行显式初始化。本例新创建的MyCircle2类对象的radius变量被显式初始化为5.0d,即从0.0d变为5.0d。再执行构造方法,该对象radius变量从5.0d变为2.5d。

(5)将堆区新创建的MyCircle2类对象的地址赋值给栈区的引用变量c2。

可见:new关键字实例化一个类对象,将给这个对象分配内存,new关键字还执行了实例初始化,调用了对象的构造方法,并返回一个指向该内存的引用。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈