理论教育 实现Array数组的apply方法

实现Array数组的apply方法

时间:2023-11-24 理论教育 版权反馈
【摘要】:2)在Array中按F3键,查看Array数组apply()方法的源代码,发现Array源代码中会新建一个new Array[Int]对象,返回一个Array数组。在类class ApplyTest中定义了apply()方法,通过new ApplyTest实例,调用class ApplyTest的apply()方法,如例1-34所示。Class类的apply调用示例。2)调用a的haveATry方法,打印输出"Have a try on apply!"3)println:打印的是com.dt.Scala.oop.ApplyTest@1d9a2ab,即ApplyTest的引用地址。"运行结果如图1-66所示。

实现Array数组的apply方法

从上面对Array数组的apply实现的示例可以举一反三,类似思考:

1)无须新建(new)一个对象,通过Array对象直接定义一个数组,调用Array(1,2,3,4,5)就会触发Array的apply()方法。

978-7-111-54169-1-Chapter01-186.jpg

2)在Array(1,2,3,4,5)中按F3键,查看Array数组apply()方法的源代码,发现Array源代码中会新建(new)一个new Array[Int]对象,返回一个Array数组。

978-7-111-54169-1-Chapter01-187.jpg

在类class ApplyTest中定义了apply()方法,通过new ApplyTest实例,调用class Ap⁃plyTest的apply()方法,如例1-34所示。

【例1-34】Class类的apply调用示例。

978-7-111-54169-1-Chapter01-188.jpg

978-7-111-54169-1-Chapter01-189.jpg(www.daowen.com)

示例代码说明如下:

1)首先new ApplyTest,即新建一个ApplyTest对象,将ApplyTest对象赋值给a。

2)调用a的haveATry方法,打印输出"Have a try on apply!"

3)println(a):打印的是com.dt.Scala.oop.ApplyTest@1d9a2ab,即ApplyTest的引用地址

4)println(a()):使用a()会调用触发class ApplyTest的apply()方法,打印输出"I am into Spark so much!!!"

运行结果如图1-66所示。

978-7-111-54169-1-Chapter01-190.jpg

图1-66 Class类的apply调用

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

我要反馈