Scala--包和引入

1、包

同一個包能夠定義在多個文件中,你也能夠在同一個文件中定義多個包java

文件名爲:pack.scalaspa

package com{
  package scala{
    package test{
      class pack {
        println("This is pack")
      }
      class pack1{
        println("This is pack1")
      }
    }
  }
}

在其餘文件中能夠引用該包的類scala

  import com.scala.test.pack

  val p = new pack
  val p1 = new pack1

目錄和包沒有關聯關係code

 

2、做用域規則

使用絕對包名:new _root_.scala.collection.mutable.ArrayBuffer[Int]對象

 

 

3、串聯式包語句

package com.scala.test{
  
}

com 和 com.scala 不可見blog

 

4、文件頂部標記法

頂部標記,不使用{}作用域

package com.scala
package test

class pack{
  println("This is pack")
}

class pack1{
  println("This is pack1")
}

com.scala的內容是可見的,com的內容是不可見的hash

 

5、包對象

package com.scala.test

package object people{
  val defaultName = "John"
}

package people{
  class Persion{
    var name = defaultName   // 從包對象拿到的常量
  }
}

package objectio

 

6、包可見性

 

 

7、引入

import java.awt._table

_和java中的*相似

 

8、任何地方均可以聲明引入

import語句能夠出如今任何地方

 

9、重命名和隱藏方法

想引入包中的幾個成員,可使用選取器{}

import java.awt.{color, font}

重命名=>

import java.util.{HashMap => JavaHashMap}   // HashMap重命名爲JavaHashMap
import scala.collection.mutable._           // 後續使用HashMap對應scala.collection.mutable.hashmap

隱藏 =>_

  import java.util.{HashMap =>_ , _}
  import scala.collection.mutable._

 

10、隱式引入

每一個scala程序都默認引入以下包

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

 

參考《快學Scala》

相關文章
相關標籤/搜索