Scala學習(九)- 包(package)

相同點:

Scala中創建包的方式與Java相同,使用同樣的關鍵字:package


/**
  * @author [email protected]
  * @date 2019/8/26
  */
package com.fengling.chapter06 {
  // 創建包hi
  package hi {

    object PackageDemo {

      def main(args: Array[String]): Unit = {
        val animal = new Animal
        println(animal)
      }
    }

    class Animal {
      var name = ""
      var age: Int = _
    }

  }

  // 創建包hello
  package hello {

    object Greet {
      def main(args: Array[String]): Unit = {
        val hello = new Hello
        println(hello)
      }
    }

    class Hello {

    }

  }

}

不用的地方是:

  • Scala允許在一個scala文件中定義多個package名

編譯出來的效果:

包引入


/**
  * @author [email protected]
  * @date 2019/8/27
  */
object PackageImportDemo001 {
  def main(args: Array[String]): Unit = {

  }

  def test(): Unit = {
    import scala.collection.mutable.{HashMap, HashSet}
    var map = new HashMap()
    var set = new HashSet()
  }
}

import scala.beans.BeanProperty
class User {
  @BeanProperty var name: String = _
}

class Animal {
  @BeanProperty var name = ""
}
/**
  * @author [email protected]
  * @date 2019/8/27
  */
object PackageDemo003 {
  def main(args: Array[String]): Unit = {
    // 引入不同package下的同名類的時候,可以重命名類
    import java.util.{HashMap => JavaHashMap}
    import scala.collection.mutable._
    val map = new HashMap()
    val javaMap = new JavaHashMap()
  }
}
  • import語句可以出現在scala文件中的任意地方,不侷限與文件的頂部
  • 導入包中的所有類,Java使用星號( * ),scala使用下劃線 ( _ )
  • 導入包中某幾個類,可以使用大括號 { 類名 }
  • 引入不同package下的同名類的時候,可以重命名類
  • 避免衝突,可以使用(_, _)隱藏掉某個類

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章