【摘要】: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实现的示例可以举一反三,类似思考:
1)无须新建(new)一个对象,通过Array对象直接定义一个数组,调用Array(1,2,3,4,5)就会触发Array的apply()方法。
2)在Array(1,2,3,4,5)中按F3键,查看Array数组apply()方法的源代码,发现Array源代码中会新建(new)一个new Array[Int]对象,返回一个Array数组。
在类class ApplyTest中定义了apply()方法,通过new ApplyTest实例,调用class Ap⁃plyTest的apply()方法,如例1-34所示。
【例1-34】Class类的apply调用示例。
(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所示。
图1-66 Class类的apply调用
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
有关Scala语言基础与开发实战的文章