Spark基础知识11_Scala构造器工作方式

Scala的主构造器参数直接成为类字段,辅助构造器通过this调用来实现功能。例如,Scala的辅助构造器可以调用其他构造器,并在Object结构中,通过实例化对象来调用构造器。myCounter2和myCounter3展示了如何通过不同构造器传递参数。文章探讨了这些差异,帮助理解Scala构造器的工作机制。
摘要由CSDN通过智能技术生成

与java的区别:

我们java中要用到类,而scala全是this

注意以下两点:

 示例:

1、def this( name:String){  } ,它第一个辅助构造器,因此只能调用主构造器this( )。

2、第二个辅助构造器中有两个参数,可以发现它this(name)调用的是第一个辅助构造器,将name设置到字段中。

3、多了一个info方法,无参数无返回值直接采用c的方式打印信息

4、Object结构中,我们定义入口函数main,声明了一个实例化对象myCounter1,省略了(),加了括号的时候就相当于调用了主构造器,因为没有任何参数传进来,因此调用了主构造器

5、 第二个 myCounter2 ,匹配第一个辅助构造器,传来了一个参数,把计数器的名字设置为Runner。

6、第三个myCounter3,匹配第二个构造器

myCounter2.info,打印的是name is ,mode is 空的。

通过此示例,要知道辅助构造器是怎么工作的。

Scala主构造器

scala主构造器与java构造器本质区别

1、scala主构造器中的参数被编译后直接编程类中的字段,这是最特殊的地方

java的主构造器写在类里面,而scala的主构造器是整个类体,它直接类名称后面罗列出构造器所有的参数,如下代码示例

与java最大的不同地方如下:

 打印结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值