<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ### 1. 包 package - 源文件目錄和包之間并沒有強制的關聯關系。比如下面Manager.scala不一定要在`./com/horstmann/impatient`目錄中。 ~~~ // Manager.scala package com { package horstmann { package impatient { class Manager(name: String) { def description = "A manager with name " + name } } } } ~~~ - 同一個文件中可以給多個包貢獻內容,比如Employee.scala文件可以包含: ~~~ package com { package horstmann { package impatient { class Employee(id: Int) { def description = "An employee with id " + id } } } } package org { package bigjava { class Counter { private var value = 0 def increment() { value += 1 } def description = "A counter with value " + value } } } ~~~ ### 2. 作用域規則 - Scala的包作用域支持嵌套,包路徑都是相對的。 - `java.lang`、`scala`和`Predef`總是被引入,這種引入被稱為隱式引入。 ### 3. 串聯式包語句 - 包語句可以包含一個“串”或者說是“路徑區段” ~~~ package com.horstmann.impatient { package people { class Person(val name: String) { val friends = new collection.mutable.ArrayBuffer[Person] // com和com.hosrstmann的成員這里不可見 def description = name + " with friends " + friends.map(_.name).mkString(", ") } } } ~~~ ### 4. 文件頂部標記法 - 可以在文件頂部使用`package`語句,不帶花括號。 ~~~ package com.horstmann.impatient class Car ~~~ ### 5. 包對象 - 每個包都可以有一個包對象,要在父包中定義它,且名稱與子包一樣。 ~~~ package com.horstmann.impatient package object people { val defaultName = "John Q. Public" } package people { class Person { var name = defaultName // A constant from the package def description = "A person with name " + name } } // Run as scala com.horstmann.impatient.Main object Main extends App { val john = new com.horstmann.impatient.people.Person println(john.description) } ~~~ ### 6. 包可見性 - 沒有被public、private或protected聲明的類成員,在包含該類的包中可見,可以使用`private[包名]`達到同樣效果。 ~~~ package com.horstmann.impatient package object people { val defaultName = "John Q. Public" } package people { class Person { var name = defaultName // A constant from the package private[impatient] def description = "A person with name " + name } } ~~~ ### 7. 引入import - 引入讓你可以使用更短的名稱 ~~~ import java.awt.Color ~~~ - 引入包的全部成員,也可以引入類或對象的全部成員。 ~~~ import java.awt._ ~~~ - 任何地方都可以出現import引入,作用到該塊的結尾。 ### 8. 重命名和隱藏方法 - 只項引入幾個成員,使用選擇器。 ~~~ import java.awt.{Color, Font} ~~~ - 重命名選到的成員。 ~~~ import java.util.{HashMap => JavaHashMap} ~~~ - `HashMap => _` 是用來隱藏某個成員。 【待續】
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看