函数式编程

scala:package

2020-01-28  本文已影响0人  木山手札
package org.foo
package bar.example
// 完整的包路径是org.foo.bar.example
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() //调用包对象中的方法
        println(book) // 调用包对象中的属性
      }
    }
  }
}
上一篇 下一篇

猜你喜欢

热点阅读