设为首页 加入收藏

TOP

Scala--包和引入
2017-10-10 12:11:08 】 浏览:5595
Tags:Scala-- 包和 引入

一、包

同一个包可以定义在多个文件中,你也可以在同一个文件中定义多个包

文件名为:pack.scala

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

在其他文件中可以引用该包的类

  import com.scala.test.pack

  val p = new pack
  val p1 = new pack1

目录和包没有关联关系

 

二、作用域规则

使用绝对包名:new _root_.scala.collection.mutable.ArrayBuffer[Int]

 

 

三、串联式包语句

package com.scala.test{
  
}

com 和 com.scala 不可见

 

四、文件顶部标记法

顶部标记,不使用{}

package com.scala
package test

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

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

com.scala的内容是可见的,com的内容是不可见的

 

五、包对象

package com.scala.test

package object people{
  val defaultName = "John"
}

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

package object

 

六、包可见性

 

 

七、引入

import java.awt._

_和java中的*类似

 

八、任何地方都可以声明引入

import语句可以出现在任何地方

 

九、重命名和隐藏方法

想引入包中的几个成员,可以使用选取器{}

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._

 

十、隐式引入

每个scala程序都默认引入如下包

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

 

参考《快学Scala》

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Scalaz(55)- scalaz-stream: f.. 下一篇Scala--文件和正则表达式

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目