ad

打开《Java语言程序设计与应用》_从基础向熟练进发_4.5.1 对象的创建

admin 73 2023-10-25

【摘要】 本书摘自《Java语言程序设计与应用》一书中第4章,第5节,由徐俊武编著。

4.5.1 对象的创建

声明对象的语法格式为:

[Modifiers] ClassName objectName[,objectName];

例如:

Data dateObject;

Time timeObject1,timeobject2;

打开《Java语言程序设计与应用》_从基础向熟练进发_4.5.1 对象的创建

上面只是声明了对象的引用,需要用Java 语言提供的 new 运算符创建对 象,即真正地为对象分配存储空间。创建对象的格式为:

new ClassName(parameterList)

其中,ClassName 为对象所属的类名称;parameterList 是创建对象时提供 的参数,参数的格式取决于类定义中声明的构造方法参数。例如:

timeObject1=new Time(10,20,30);

timtObject2=new Time("08:25:15");

由于在Time 类中没有提供无参数的构造方法,所以timeObject1=new Time();

将会产生编译错误。

如果将对象的声明和创建合并在一起,可以这样写:

Time timeObject3=new Time("14:50:24");

Time timeObject4=new Time(09,20,45);new 运算符主要完成两项操作, 一是为对象分配存储空间。从严格意义上 来说,是为类中的每个实例变量分配空间。二是根据提供的参数格式调用与之 匹配的构造方法,完成初始化成员变量的任务,然后返回本对象的引用。

4.5.2 对象成员的使用

对象创建后,就可以在对象之间相互发送及响应消息,以便驱动程序的运 作。在Java语言中,所谓对象发送消息就是发出调用其他对象成员方法的命 令,所谓的对象消息响应就是具体执行上述调用命令。例如:对于类对象 timeObject3,如果某个对象希望获得 timeObject3对象的当前时间,就可以利用 timeObject3.getHour()等方法向 timeObject3对象发送请求操作的消息,其中 timeObject3是接收这个消息的对象,成员方法名称标识向 timeObject3 发送的 消息名称,参数表标识响应这个消息时需要提供的参数。当 timeObject3 接收 到这个消息后,就会调用与消息同名的成员方法对该消息做出响应。

对象可以作为数组的元素、类成员,也可以出现在成员方法的参数表和方法 体中。

【例4-2】 对象作为数组元素,利用 Math 类中的 random() 方法随机产生 每个学生的成绩,并按学号的顺序输出。

//file name:ScoreClass.java

public class ScoreClass{

private int No,score;

public ScoreClass()

{

No=1000;

score=0;

public ScoreClass(int n,int s)

{

No=n;

score=s;

public void setInfo(int n,int s)

{

No=n;

score=s;

public int getNo()

return

No;

)

public int getScore()

return score;

//file name:ScoreTest

public class ScoreTest{

public static void main(String[] args){

ScoreClass[] student=new ScoreClass[10];

for(int i=0;i<10;i++){

student[i]=new Scoreclass(1000+i,(int)(Math.random()*

100));

)

for(int i=0;i<10;i++){

System.out.println(student[i].getNo O)+"\t"+student[i].

getScore());

运行结果为:

1000

61

1001

87

1002

66

1003

82

1004

10

1005

12

1006

93

100730

1008 89

100972

可以通过上面的例子知道,如果数组元素为对象,需要经过下面几个操作 步骤:

① 首先利用new 运算符创建数组。此时每个数组元素为 null 引用;

② 再利用循环结构为每个元素创建对象;

③通过引用成员变量或调用成员方法对数组元素中的对象进行操作。引 用格式为:

arrayVariable[index]. memberVariableName

arrayVariable[index].memberVariableName(parameterList)

4.5.3 对象的清除

创建对象的主要任务是为对象分配存储空间,而清除对象的任务是回收存 储空间。为了提高系统资源的利用率,Java语言提供了"自动回收垃圾"的机 制。即在Java语言运行时,系统会周期性地监控对象是否还被引用,如果发现 某个对象不再被引用了,就自动收回为它分配的存储空间。

自动回收垃圾具体操作过程是:在Java语言中有一个软件实现的“垃圾回 收器"。当一个对象处于被引用状态时,Java 运行系统会将其所对应的存储空 间做一个标记;当对象的引用结束,自动取消这个标记。 Java的“垃圾回收器” 周期性地扫描程序中所有对象的引用标记,没有标记的对象就应该列入清除的 队列。待系统空闲或需要存储空间时将其存储空间回收。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 [email protected] 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:从《Python数据分析案例教程》中_领悟数据和Python的魅力_4.1 认识Pandas
下一篇:《认知计算与深度学习》_基于物联网云平台的智能应用_2.4 laaS、PaaS 和 SaaS 云的案例研究
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×