package org.foo
package bar.example
// 完整的包路徑是org.foo.bar.example
- package內(nèi)只能聲明類,不能聲明變量、方法,從面相對象角度看包也是對象,在包里聲明變量和方法使用package object
package object foo{ // 在foo包下
val field:String = "A"
def function(i:Int):Unit={}
}
package foo1 {
package object foo2 { // 包對象
val book = "scala"
def fun(): Unit = {
println("包對象")
}
}
class BarA { // 包中定義類
var name: String = _ // 類中可以聲明屬性
}
package foo2 {
class BarA {
var age: Int = _
}
object PackageExample {
def main(args: Array[String]): Unit = {
val bar1 = new BarA //就近原則,使用foo2包下的BarA
bar1.age = 3
val bar2 = new foo1.BarA //明確使用foo1包下的BarA
bar2.name = "bar"
fun() //調(diào)用包對象中的方法
println(book) // 調(diào)用包對象中的屬性
}
}
}
}
最后編輯于 :
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。