Scala基础知识

要深入学习大数据,spark,kafka是必须精通的,然而spark,kafka的源码都是用Scala写的,因此作为一个大数据工程师,Scala是必须精通,而且Scala语言有面向对象和函数式编程两大特点,相信熟悉之后一定会喜欢上它,Scala 用java语言写的,编译后生成在java字节码文件,所以运行Scala文件需要安装java虚拟机

1 伴生对象

      其中伴生对象中的变量是静态变量,方法是静态方法

eg:

第一步 :新建Person类

class Person {
  private val id = Person.newPersonId()
  private var name = ""
  def this(name:String){
    this()
    this.name = name
  }
  def info(): Unit ={
    printf("The id of is %s id is %d  \n",name,id)
  }
}
 // 伴生对象其实里面
object Person{
  private var lastId =1

  def newPersonId(): Int ={
    lastId+=1;
    lastId
  }
  def main(args: Array[String]): Unit = {
    val personq = new Person();
    val person2 = new Person();
    personq.info();
    person2.info()
  }
第二部:scalac -Person.scala

 第三步 :javap -Person

public class com.test.Person {
  public static void main(java.lang.String[]);
  public static int newPersonId();
  public void info();
  public com.test.Person();
  public com.test.Person(java.lang.String);
}

二 :继承 与特质  Scala中没有接口,我们可以通过Scala特有的‘特质’   with +特质类似于java中的多实现,只是特质中的方法可以包括具体的实现

   class CarBwn extends Car with CarSize   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值