Spark(12)-Scala构造器工作方式

与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最大的不同地方如下:

 

 打印结果:

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值