scala(2)

本文详细探讨了Scala中的类、object、抽象类、接口及其在Spark源码中的应用。讲解了Scala中变量与方法的特性,包括get/set方法的自动生成。此外,还介绍了伴生对象和伴生类的概念,以及apply方法的作用。同时,文章讨论了trait作为接口的使用,并分析了SparkContext和RDD类的部分源码,展示了Scala中的访问控制和final修饰符的用法。
摘要由CSDN通过智能技术生成

第2课:Scala面向对象彻底精通及Spark源码阅读
本期内容:
1 Scala中的类、object实战详解
2 Scala中的抽象类、接口实战详解
3 综合案例及Spark源码解析

一:定义类
class HiScala{
private var name = "Spark"

def sayName(){
println(name)
}
def getName = name
}

Scala中,变量与类中的方法是同等级的,可以直接赋值给方法。

scala中的get与set与Java中的get,set有很大的差异:
在Scala中,如果程序中给变量或方法前面定义了private,那么scala会给这个变量或方法自动生成private的get和set方 
法,如果程序中没有给变量或方法前面定义了private,那么scala会给这个变量或方法变成 private 级别的字段或方法,自动生成 public 级别的 的getter和setter方法。

创建类的对象 
val scal = new Hiscala
scal.sayName()
scal.sayName//如果不传参时,等同上面
scal.getName

修改上面的类,并创建对象:

var name="Spark" //如果不加private,默认会生成一个public的get和set方法,外部可以调

println(scala.name) 可以打印出 name 的值。-->访问的是 自动生成的 public 级别的  getter 方法.

自定义 get/set

class Person{

private var myName = "Flink"

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值