快学Scala--包和引入

Posted paulingzhou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快学Scala--包和引入相关的知识,希望对你有一定的参考价值。

串联式包名:

package com.zhou.impatient {

class Manager {

}

}

  此时com包和com.zhou包的成员在这里不可见

 

文件顶部标记法:

package com.zhou
package people
class Person {

}

  等价于:

package com.zhou{
  package people {
  class Manager {

  }
 }  
}

  

包对象:

package com.zhou.impatient

package object people {
  val defaultName = "John"
}

package people {
  class Person {
    var name = defaultName  //从包对象拿到的常量
  }
}

  

任何地方都可以声明引入

 

重命名和隐藏方法:

import java.awt.{Color, Font}
import java.util.{HashMap => JavaHashMap }
import scala.collection.mutable._

  这样一来,JavaHashMap就是java.util.HashMap,而HashMap则对应scala.collection.mutable.HashMap

  注:HashMap => _将隐藏某个成员而不是重命名它

隐式引入:每个Scala程序都隐式的以如下代码开始:

import java.lang._
import scala._
import Predef._

  故collection.mutable.HashMap相当于scala.collection.mutable.HashMap

  

以上是关于快学Scala--包和引入的主要内容,如果未能解决你的问题,请参考以下文章

快学Scala

包和引入

Spark 2.0视频|快学Spark 2.0(新特性含真实项目纯Scala语言开发CDH5.7)

快学Scala习题解答—第三章 数组相关操作

快学Scala 第2版 pdf

快学Scala 第十九课 (trait的abstract override使用)