练习



SparkILoop.scala

package  tony.scala.sample

//importtony.scala.sample._

class  Aaa {

   override  def   toString = "I am Aaa"

}


class  SparkILoop extends Aaa with SparkILoopInit {

   override  def   toString = "I am SparkILoop"

   private[sample]  def   echo(msg: String) = {

     println(msg)

   }

}


private[sample]  trait SparkILoopInit {

   self:SparkILoop => //注释掉,看看什么效果!!!

   override  def   toString = {

     "I am SparkILoopInit"

   }

//test "Explicitly Typed Self References"

def  typeSelfReference = echo("echo works here!")

}



object  Test {

def  main(args: Array[String]) {

val  a : Aaa = new SparkILoop

val  b : SparkILoopInit = new SparkILoop

println(a)

println(b)

b.typeSelfReference

}

}

编译:

scalac SparkILoop.scala

运行:

scala tony.scala.sample.Test

注:在scala中,文件放置不用像Java一样必须按照package的目录结构。对于本例,可以把SparkILoop.scala放到任意目录下,然后运行上面的编译,执行命令。



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值